bboss安全认证过滤器认证后重定向到请求页面功能介绍

简介: 本文介绍bboss安全认证过滤器认证后重定向到请求页面功能,切入正题。 1.概述 通常受保护的页面需要认证后才能访问,当我们在浏览器端访问这些页面时,如果没有认证,则需要先认证,认证完毕后需要直接进入这些页面而不是进去系统默认的首页,采用bboss安全认证过滤器可以非常方便地实现这个功能。
本文介绍bboss安全认证过滤器认证后重定向到请求页面功能,切入正题。

1.概述

通常受保护的页面需要认证后才能访问,当我们在浏览器端访问这些页面时,如果没有认证,则需要先认证,认证完毕后需要直接进入这些页面而不是进去系统默认的首页,采用bboss安全认证过滤器可以非常方便地实现这个功能。本文分成三部分介绍这个功能:

  • [1]安全认证过滤器重定向功能示意图
    [2]开启重定向功能和重定向规则配置
    [3]如何在程序中实现重定向功能

bboss安全认证过滤器的使用方法请参考文档:
bboss 安全认证过滤器功能介绍

2.安全认证过滤器重定向功能示意图

img_f07b714019e41d0e0adfcfb8da821e9c.gif
示意图直观明了,就不进一步说明了。

3.开启重定向功能和重定向规则配置

开启重定向功能和重定向规则可以在web.xml文件中的安全认证过滤中进行配置,只需为其增加两个参数即可:
<init-param>
			<param-name>failedback</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>failedbackurlpattern</param-name>
			<param-value>/sanydesktop/index.page,/sanydesktop/indexcommon.page</param-value>
		</init-param>

参数说明:
failedback---是否开启重定向请求机制,true 开启 false关闭
failedbackurlpattern----配置重定向规则,failedback为true时,规则才起作用,只有符合failedbackurlpattern中配置的规则的请求页面,才会将请求地址作为参数传递到登陆页面,对应的参数名称为accesscontrol_check_referpath,如果failedbackurlpattern为空,则所有的需要认证的请求页面都会作为参数传递到登陆页面。
如下是添加了failedback和failedbackurlpattern两个参数的过滤器配置:
<filter>
    <filter-name>securityFilter</filter-name>
    <filter-class>com.frameworkset.platform.security.SYSAuthenticateFilter</filter-class>
    <init-param>
      <param-name>patternsExclude</param-name>
      <param-value>
    		/sysmanager/logoutredirect.jsp,
    		/login.jsp,
    		/login_en.jsp,
    		/logout.jsp,
    		/webseal/websealloginfail.jsp,
    		/webseal/message.jsp,
    		/test/testmmssso.jsp,
    		/test/testssowithtoken.jsp,
    		/sso/login.jsp,
    		/sso/sso.page,
    		/sso/ssowithtoken.page,
    		/sanydesktop/cookieLocale.page,
    		/yzm.jsp,
		   /sysmanager/password/modifyExpiredUserPWD.jsp,
		  /passward/modifyExpiredPassword.page,
		  /passward/generateImageCode.page,
		  /common/jsp/tokenfail.jsp,
		  /sanymbp/login.page
    	   </param-value>
    </init-param>
    <init-param>
      <param-name>redirecturl</param-name>
      <param-value>/sysmanager/logoutredirect.jsp</param-value>
    </init-param>
    <init-param>
      <param-name>preventDispatchLoop</param-name>
      <param-value>false</param-value>
    </init-param>	
    
		<init-param>
			<param-name>enablePermissionCheck</param-name>
			<param-value>true</param-value>
		</init-param>
		 
		
		<init-param>
			<param-name>authorfailedurl</param-name>
			<param-value>/common/jsp/authorfail.jsp</param-value>
		</init-param>
		<init-param>
			<param-name>failedback</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>failedbackurlpattern</param-name>
			<param-value>/sanydesktop/index.page,/sanydesktop/indexcommon.page</param-value>
		</init-param>
		 
  </filter>

 
  <filter-mapping>
    <filter-name>securityFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>securityFilter</filter-name>
    <url-pattern>*.page</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>securityFilter</filter-name>
    <url-pattern>*.frame</url-pattern>
  </filter-mapping>
  
   <filter-mapping>
    <filter-name>securityFilter</filter-name>
    <url-pattern>/druid/*</url-pattern>
  </filter-mapping>

4.在程序中实现重定向功能

在程序中实现重定向功能非常简单,只需要在登陆页面中获取到可能存在的重定向地址参数并作为一个隐藏参数保留在登陆页面上,然后登陆成功后直接重定向到相应的地址即可,以下是伪代码:
获取重定向页面地址
String successRedirect = request.getParameter(org.frameworkset.web.interceptor.AuthenticateFilter.referpath_parametername);


在登陆页表单中记录重定向页面地址
<input name="<%=org.frameworkset.web.interceptor.AuthenticateFilter.referpath_parametername %>" type="hidden" value="<%=successRedirect%>"/>


登陆成功后重定向到对应页面
response.sendRedirect(successRedirect);


目录
相关文章
|
缓存 小程序 前端开发
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
361 0
|
2月前
|
存储 开发工具 数据库
认证源码分析与自定义后端认证逻辑
认证源码分析与自定义后端认证逻辑
40 0
认证源码分析与自定义后端认证逻辑
|
4月前
|
安全 API 网络架构
9-6|我现在请求一个接口,怎么关闭认证啊
9-6|我现在请求一个接口,怎么关闭认证啊
在自定义服务器框架中处理 GET 请求
在自定义服务器框架中处理 GET 请求
|
存储 容器
shiro配置路径为anno,但请求还是拦截下来了
shiro配置路径为anno,但请求还是拦截下来了
575 2
|
8月前
|
安全 JavaScript 前端开发
若依实现单点登录(解析请求链接中的参数做鉴权认证)
若依实现单点登录(解析请求链接中的参数做鉴权认证)
|
8月前
|
数据库 数据安全/隐私保护
SpringSecurity请求授权规则配置与注解使用说明
SpringSecurity请求授权规则配置与注解使用说明
83 0
|
缓存 小程序 NoSQL
【Uniapp】小程序携带Token请求接口+无感知登录方案
【Uniapp】小程序携带Token请求接口+无感知登录方案
310 0
|
JSON Java 数据格式
SpringCloud GateWay通过过滤器GatewayFilter修改请求或响应内容
Spring Cloud Gateway在有些场景中需要获取request body内容进行参数校验或参数修改,我们通过在GatewayFilter中获取请求内容来获取和修改请求体,下面我们就基于ServerWebExchange来实现。
1475 0
|
Web App开发 API
Postman教程-通过设置代理/拦截器捕获请求信息
通过Postman捕获到的请求信息,默认不会显示请求响应结果,只会包含请求的相关参数信息。
Postman教程-通过设置代理/拦截器捕获请求信息