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


目录
相关文章
|
4月前
fastadmin框架中的重定向
fastadmin框架中的重定向
|
6月前
|
缓存 小程序 前端开发
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
197 0
|
11天前
|
JSON 安全 关系型数据库
SpringCloud Gateway 实现自定义全局过滤器 + JWT权限验证
SpringCloud Gateway 实现自定义全局过滤器 + JWT权限验证
|
29天前
|
安全 JavaScript 前端开发
若依实现单点登录(解析请求链接中的参数做鉴权认证)
若依实现单点登录(解析请求链接中的参数做鉴权认证)
17 0
|
8月前
|
存储 容器
shiro配置路径为anno,但请求还是拦截下来了
shiro配置路径为anno,但请求还是拦截下来了
210 2
|
4月前
|
数据库 数据安全/隐私保护
SpringSecurity请求授权规则配置与注解使用说明
SpringSecurity请求授权规则配置与注解使用说明
44 0
|
6月前
|
缓存 小程序 NoSQL
【Uniapp】小程序携带Token请求接口+无感知登录方案
【Uniapp】小程序携带Token请求接口+无感知登录方案
109 0
|
JSON Java 数据格式
SpringCloud GateWay通过过滤器GatewayFilter修改请求或响应内容
Spring Cloud Gateway在有些场景中需要获取request body内容进行参数校验或参数修改,我们通过在GatewayFilter中获取请求内容来获取和修改请求体,下面我们就基于ServerWebExchange来实现。
1134 0
|
安全 Java API
原来SpringSecurity整合OAuth2后开放权限拦截路径还能这么玩?
当我们整合了`Spring Security`以及`OAuth2`后发现,有一些业务请求是需要开放的,因为种种原因这时访问者还没有身份标识(`比如:用户刚来,还没有注册,需要进行新用户注册,这时注册业务相关的接口都应该是开放的`),下面我们来看看`ApiBoot`是怎么排除路径不进行权限拦截的。
|
安全 Java
WEB核心【请求重定向】第十三章
目录1,请求重定向【阶段重点】1.1:简述&原理&格式1.2:延迟重定向1.3:请求转发和重定向的区别1.4:资源跳转问题目标:1,理解请求重定向原理2,熟练使用请求重定向的多种格式写法3,掌握请求转发和重定向区别javaEE资源跳转方式有两种:1,重定向2,请求转发 3,浏览器发现302状态码,就会
WEB核心【请求重定向】第十三章