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);


目录
相关文章
|
6月前
|
缓存 小程序 前端开发
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
191 0
|
8天前
|
JSON 安全 关系型数据库
SpringCloud Gateway 实现自定义全局过滤器 + JWT权限验证
SpringCloud Gateway 实现自定义全局过滤器 + JWT权限验证
|
26天前
|
安全 JavaScript 前端开发
若依实现单点登录(解析请求链接中的参数做鉴权认证)
若依实现单点登录(解析请求链接中的参数做鉴权认证)
17 0
|
3月前
|
API 数据安全/隐私保护
SpringSecurity结合JwtToken验证(后端部分)
SpringSecurity结合JwtToken验证(后端部分)
28 0
SpringSecurity结合JwtToken验证(后端部分)
|
8月前
|
存储 容器
shiro配置路径为anno,但请求还是拦截下来了
shiro配置路径为anno,但请求还是拦截下来了
208 2
|
4月前
|
数据库 数据安全/隐私保护
SpringSecurity请求授权规则配置与注解使用说明
SpringSecurity请求授权规则配置与注解使用说明
44 0
|
6月前
|
缓存 小程序 NoSQL
【Uniapp】小程序携带Token请求接口+无感知登录方案
【Uniapp】小程序携带Token请求接口+无感知登录方案
106 0
|
JSON 安全 Java
分布式整合之验证认证的过滤器|学习笔记
快速学习分布式整合之验证认证的过滤器
88 0
分布式整合之验证认证的过滤器|学习笔记
|
安全 Java API
原来SpringSecurity整合OAuth2后开放权限拦截路径还能这么玩?
当我们整合了`Spring Security`以及`OAuth2`后发现,有一些业务请求是需要开放的,因为种种原因这时访问者还没有身份标识(`比如:用户刚来,还没有注册,需要进行新用户注册,这时注册业务相关的接口都应该是开放的`),下面我们来看看`ApiBoot`是怎么排除路径不进行权限拦截的。
|
前端开发
MVC 自定义过滤器/特性来实现登录授权及验证
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。    十年河东十年河西,莫欺少年穷    学无止境,精益求精    最近在做自学MVC,遇到的问题很多,索性一点点总结下。
1861 0