`

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

阅读更多
本文介绍bboss安全认证过滤器认证后重定向到请求页面功能,切入正题。

1.概述

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

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

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

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


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

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


  • 大小: 21.3 KB
分享到:
评论
3 楼 梦醒无尘 2016-04-30  
看明白了……
2 楼 yin_bp 2014-10-20  
addday 写道
需要区分:json、页面、ajax载入的碎片页的处理。


是啊,开启登录重定向机制后,默认会重定向所有url对应的页面,但是指定了failedbackurlpattern参数后,情况就变了只有请求页面匹配上failedbackurlpattern中配置的页面模式才能重定向:
<param-name>failedbackurlpattern</param-name>  
       <param-value>/bbossdesktop/index.page,/bbossdesktop/indexcommon.page</param-value>

注意failedbackurlpattern配置的是模式,也可以是具体的地址,例如以下形式的地址都是支持的:
/test/*.page
/test/**/*.page
/bbossdesktop/index.page
/bbossdesktop/indexcommon.page


1 楼 addday 2014-10-18  
需要区分:json、页面、ajax载入的碎片页的处理。

相关推荐

    bboss 安全认证过滤器功能介绍

    SYSAuthenticateFilter就是BBoss框架中专门用于安全认证的过滤器,它负责拦截请求,检查用户是否已经登录并拥有访问特定资源的权限。 首先,我们来看一下`SYSAuthenticateFilter.java`这个文件。作为过滤器的实现类...

    bboss mvcdemo 下载地址

    视图与控制器通过请求参数进行交互,展示由控制器处理后传递的数据。 3. **控制器(Controller)**:控制器接收用户的请求,处理业务逻辑,并将处理结果转发给视图。BBoss MVCDemo提供了灵活的控制器机制,可以方便地...

    bboss会话共享培训文档

    例如,在一个域下的多个子应用之间,使用bboss可以共享认证信息,用户登录其中一个应用后,无需再次登录即可访问其他应用。 文档中提到了会话共享需要解决的五大技术难题: 1. session数据序列化问题,即如何有效...

    企业级J2EE开源框架bboss

    6. **安全控制**:BBoss提供了用户认证和授权机制,包括基于角色的访问控制(RBAC)、会话管理以及CSRF防护等,保障系统安全性。 7. **缓存支持**:集成多种缓存技术,如Ehcache、Redis等,优化数据读取性能,减轻...

    springboot整合bboss es增删改查测试demo代码

    本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿.pptx

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    **二、BBoss介绍** BBoss 是一个针对 Elasticsearch 的企业级开发框架,它提供了丰富的 Java API,使得开发者可以更简单地进行索引管理、查询构建、结果分析等操作。BBoss 还支持多版本兼容,方便应对 Elasticsearch...

    由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    完成清洗和转换后,bboss-datatran 可以将处理后的数据加载到不同的存储系统,如Hadoop HDFS、Hive、HBase、Elasticsearch、Greenplum、Oracle等。这为用户提供了灵活的数据存储选择,并且支持数据分片、分区策略,...

    bboss ioc配置文件中使用外部属性文件介绍

    BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...

    springboot集成ElasticsearchBboss调用Elasticsearch.md

    springboot集成ElasticsearchBboss调用Elasticsearch的案例分享

    bboss elasticsearch-5.7.8.rar

    2. `jackson-databind-2.9.8.jar`:Jackson是JSON处理库,`databind`模块实现了将Java对象映射到JSON和反向映射的功能,对于Elasticsearch的数据导入和导出非常关键。 3. `bboss-util-5.5.0.jar`和`bboss-...

    bboss会话共享培训文档分享

    其设计允许灵活地集成各种应用,并提供了丰富的会话管理事件以及过滤器,使得集成过程尽可能简单且高效。 五、bbosssession部署模式 部署模式涉及到bbosssession在不同环境下的应用,包括如何结合使用诸如apache、...

    bboss+es基本操作示例.zip

    **bboss+es基本操作示例** 在Java开发中,Elasticsearch(ES)作为一种流行的分布式搜索引擎和数据分析工具,常用于大数据处理和实时分析。bboss(Business Basic Operation Support)框架则是针对Elasticsearch...

    J2EE企业级开源框架bboss v5.0.6.8

    bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...

    bboss-db-elasticsearch-tool-master_java_

    【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...

    由 bboss 开源的数据采集同步ETL工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...

    bboss-soa.jar

    官方版本,亲测可用

    bboss-http:bboss http 服务组件

    bboss httpproxy bboss http project. 包含的功能有: ...负载均衡器主备功能开发,如果主节点全部挂掉,请求转发到可用的备用节点,如果备用节点也挂了,就抛出异常,如果主节点恢复正常,那么请求重

Global site tag (gtag.js) - Google Analytics