- 浏览: 695784 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
bboss 安全认证过滤器功能介绍
bboss 3.6新增了安全认证过滤器抽象类org.frameworkset.web.interceptor.AuthenticateFilter
废除之前版本中的mvc安全认证拦截器org.frameworkset.web.interceptor.AuthenticateInterceptor
AuthenticateFilter过滤器具备两个功能:
身份检测-保证合法用户访问页面
权限检测-保证合法用户在具备访问权限的情况下才能访问页面
AuthenticateFilter过滤器具有以下属性
preventDispatchLoop = false;//循环跳转检测开关,true启用,false禁用,默认为false
http10Compatible = true; //whether to stay compatible with HTTP 1.0 clients,true标识兼容,false标识不兼容,默认为true
redirecturl = "/login.jsp"; //指定检测失败重定向地址,默认为login.jsp,即安全认证检测失败跳转向指定的页面
/**
* 认证和权限检测失败页面跳转方式,有以下三个值,默认为redirect
* include
* redirect
* forward
*/
directtype = "redirect";
//明确指出需要检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面(忽略patternsExclude指定的相关页面)
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
patternsInclude
//明确指出不需要检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面或者扫描patternsInclude指定的页面
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
patternsExclude
//明确指出需要做权限检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面(忽略permissionExclude指定的相关页面)
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
permissionInclude
//明确指出不需要检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面或者扫描permissionInclude指定的页面
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
permissionExclude
//enablePermissionCheck属性可以屏蔽权限检测机制,true启用,false禁用,默认值为false
enablePermissionCheck
//failedback和failedbackurlpattern两个参数,用来记录请求页面地址,以便在登录后重新跳转到请求页面,failedback为true时,符合failedbackurlpattern中配置的请求页面时,会将请求地址作为参数传递到登陆页面,对应的参数名称为accesscontrol_check_referpath,如果failedbackurlpattern为空,则所有的需要认证的请求页面都会作为参数传递到登陆页面。重定向功能的使用可以参考文档:
bboss安全认证过滤器认证后重定向到请求页面功能介绍
AuthenticateFilter提供了两个抽象方法:
在应用系统中,您可以继承org.frameworkset.web.interceptor.AuthenticateFilter并实现抽象方法check,从而实现具体的安全认证检测类来进行用户是否登录检测,如果已经登录则返回true,没有登录则返回false。
应用系统可以继承实现checkPermission方法来实现url权限检测功能,返回true表示有url访问权限,false表示无url访问权限,无权限时将跳转到authorfailedurl属性对应的提示页面,enablePermissionCheck属性可以屏蔽权限检测机制。
以下是一个具体实现示例:
安全过滤器在web.xml中的配置方法如下:
当采用AuthenticateFilter过滤器后,原来在bboss-mvc.xml中的认证拦截器就可以去掉了,具体操作方法为,
定位到bboss-mvc.xml,注释或者去掉SYSAuthenticateInterceptor节点内容:
目前3.6版本还没有发布到sourceforge中,但是大家可以从github下载最新的源码构建jar包来进行升级:
github源码地址:
https://github.com/bbossgroups/bbossgroups-3.5
mvc依赖的jar说明请参考文章中的mvc部分(bboss框架的包需要全部重新从相应的子工程中构建新的包来替换和升级):
http://yin-bp.iteye.com/blog/1143994
bboss 3.6新增了安全认证过滤器抽象类org.frameworkset.web.interceptor.AuthenticateFilter
废除之前版本中的mvc安全认证拦截器org.frameworkset.web.interceptor.AuthenticateInterceptor
AuthenticateFilter过滤器具备两个功能:
身份检测-保证合法用户访问页面
权限检测-保证合法用户在具备访问权限的情况下才能访问页面
AuthenticateFilter过滤器具有以下属性
preventDispatchLoop = false;//循环跳转检测开关,true启用,false禁用,默认为false
http10Compatible = true; //whether to stay compatible with HTTP 1.0 clients,true标识兼容,false标识不兼容,默认为true
redirecturl = "/login.jsp"; //指定检测失败重定向地址,默认为login.jsp,即安全认证检测失败跳转向指定的页面
/**
* 认证和权限检测失败页面跳转方式,有以下三个值,默认为redirect
* include
* redirect
* forward
*/
directtype = "redirect";
//明确指出需要检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面(忽略patternsExclude指定的相关页面)
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
patternsInclude
//明确指出不需要检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面或者扫描patternsInclude指定的页面
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
patternsExclude
//明确指出需要做权限检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面(忽略permissionExclude指定的相关页面)
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
permissionInclude
//明确指出不需要检测的页面范围,多个用逗号分隔,可选,如果没有配置则扫描所有页面或者扫描permissionInclude指定的页面
//可以是指定包含通配符*的页面地址,用来模糊匹配多个页面
permissionExclude
//enablePermissionCheck属性可以屏蔽权限检测机制,true启用,false禁用,默认值为false
enablePermissionCheck
//failedback和failedbackurlpattern两个参数,用来记录请求页面地址,以便在登录后重新跳转到请求页面,failedback为true时,符合failedbackurlpattern中配置的请求页面时,会将请求地址作为参数传递到登陆页面,对应的参数名称为accesscontrol_check_referpath,如果failedbackurlpattern为空,则所有的需要认证的请求页面都会作为参数传递到登陆页面。重定向功能的使用可以参考文档:
bboss安全认证过滤器认证后重定向到请求页面功能介绍
AuthenticateFilter提供了两个抽象方法:
protected boolean check(HttpServletRequest request, HttpServletResponse response, HandlerMeta handlerMeta)
在应用系统中,您可以继承org.frameworkset.web.interceptor.AuthenticateFilter并实现抽象方法check,从而实现具体的安全认证检测类来进行用户是否登录检测,如果已经登录则返回true,没有登录则返回false。
protected abstract boolean checkPermission(HttpServletRequest request, HttpServletResponse response, HandlerMeta handlerMeta,String uri);
应用系统可以继承实现checkPermission方法来实现url权限检测功能,返回true表示有url访问权限,false表示无url访问权限,无权限时将跳转到authorfailedurl属性对应的提示页面,enablePermissionCheck属性可以屏蔽权限检测机制。
以下是一个具体实现示例:
public class SYSAuthenticateFilter extends AuthenticateFilter { /** * 用户身份验证 */ protected boolean check(HttpServletRequest request, HttpServletResponse response, HandlerMeta handlerMeta) { AccessControl control = AccessControl.getInstance(); boolean result = control.checkAccess(request, response, false); if(result) { request.setAttribute(AccessControl.accesscontrol_request_attribute_key,control); } return result; } /** * url权限判断 */ @Override protected boolean checkPermission(HttpServletRequest request, HttpServletResponse response, HandlerMeta handlerMeta, String uri) { AccessControl control = AccessControl.getAccessControl(); return control.checkURLPermission(uri, "visible", "column"); } }
安全过滤器在web.xml中的配置方法如下:
<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, /logout.jsp </param-value> </init-param> <init-param> <param-name>redirecturl</param-name> <param-value>/sysmanager/logoutredirect.jsp</param-value> </init-param> <!-- 安全认证过滤器AuthenticateFilter中包含checkPermission抽象方法,应用系统可以继承实现这个方法来实现url权限检测功能,返回true表示有url访问权限,false表示无url访问权限,无权限时将跳转到authorfailedurl属性对应的提示页面 enablePermissionCheck属性可以屏蔽权限检测机制 --> <init-param> <param-name>enablePermissionCheck</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>permissionExclude</param-name> <param-value> /login.jsp,/authorfailed.jsp </param-value> </init-param> <!-- <init-param> --> <!-- <param-name>permissionInclude</param-name> --> <!-- <param-value> --> <!-- /login.jsp --> <!-- </param-value> --> <!-- </init-param> --> <init-param> <param-name>authorfailedurl</param-name> <param-value>/authorfailed.jsp</param-value> </init-param> <init-param> <param-name>preventDispatchLoop</param-name> <param-value>false</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>/bbossdesktop/index.page,/bbossdesktop/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>
当采用AuthenticateFilter过滤器后,原来在bboss-mvc.xml中的认证拦截器就可以去掉了,具体操作方法为,
定位到bboss-mvc.xml,注释或者去掉SYSAuthenticateInterceptor节点内容:
<!-- 配置全局控制器方法拦截器 --> <property name="org.frameworkset.web.servlet.gloabel.HandlerInterceptors" > <list componentType="bean"> <!--<property class="com.frameworkset.platform.security.SYSAuthenticateInterceptor"> --> <!-- 配置认证检查拦截器拦截url模式规则 --> <!-- <property name="patternsInclude"> <list componentType="string"> <property value="/**/*.page"/> </list> </property>--> <!-- 配置认证检查拦截器不拦截url模式规则 --> <!--<property name="patternsExclude"> <list componentType="string"> <property value="/uddi/queryservice/main.page"/> <property value="/uddi/queryservice/verify.page"/> <property value="/uddi/queryservice/requesterVerify.page"/> <property value="/uddi/queryservice/detail.page"/> <property value="/uddi/servicemanage/basic.page"/> <property value="/uddi/servicemanage/servicedesc.page"/> <property value="/uddi/servicemanage/listmetadata.page"/> <property value="/uddi/queryservice/visitpermission.page"/> <property value="/uddi/queryservice/logout.page"/> </list> </property> <property name="redirecturl" value="/sysmanager/logoutredirect.jsp"/> </property>--> </list> </property>
目前3.6版本还没有发布到sourceforge中,但是大家可以从github下载最新的源码构建jar包来进行升级:
github源码地址:
https://github.com/bbossgroups/bbossgroups-3.5
mvc依赖的jar说明请参考文章中的mvc部分(bboss框架的包需要全部重新从相应的子工程中构建新的包来替换和升级):
http://yin-bp.iteye.com/blog/1143994
- SYSAuthenticateFilter.rar (908 Bytes)
- 下载次数: 7
发表评论
-
bboss mvc控制器方法跳转地址设置方法介绍
2017-12-09 21:52 911bboss mvc控制器方法跳转地址设置方法介绍 1.直接指 ... -
bboss mvc json插件设置日期类型格式方法
2017-02-28 11:33 746bboss mvc json插件设置日期类型格式方法 一般的 ... -
bboss mvc控制器实现etag和last modify两种http缓存机制
2016-09-07 23:48 1266bboss mvc控制器实现etag和last modify两 ... -
bboss wordpdf构建部署介绍
2016-09-02 15:47 571bboss wordpdf构建部署介绍 下载 源码下载地址: ... -
解决tomcat stop报Illegal access: this web application instance has been stopped异常方法
2015-12-26 23:41 5949解决tomcat stop报Illegal access: t ... -
bboss mvc文件上传实例
2015-06-08 11:13 37本文着重介绍bboss mvc文件上传功能,切入正题 功能点 ... -
bboss mvc @RequestBody注解使用说明
2014-10-23 15:53 1050@RequestBody可以将客户端请求报文体通过数据类型转换 ... -
bboss开发、模块工程目录结构及功能说明
2014-10-15 19:46 4882基于bboss开发项目说明 ... -
bboss安全认证过滤器认证后重定向到请求页面功能介绍
2014-10-12 10:55 1343本文介绍bboss安全认证 ... -
bboss mvc控制器方法响应报文注解ResponseBody使用说明
2014-09-20 22:39 1193bboss mvc控制器方法响应 ... -
bboss mvc启动事件监听器使用方法
2014-09-02 20:25 1158在实际应用,往往需要在mvc容器启动后执行相应的操作,bbos ... -
bboss session共享使用方法介绍
2014-05-10 16:12 6146bboss session共享使用方法 ... -
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍
2014-04-12 14:31 1657bboss将一个组件同时发布为webservice,hessi ... -
bboss发布apache cxf 2.7.6服务和定义客户端服务实例可能产生冲突解决办法
2014-03-22 23:16 1091bboss发布apache cxf 2.7.6服务和定义客户端 ... -
bboss mvc接收和响应xml格式数据的方法
2013-12-28 19:14 1072本文介绍bboss mvc接收和响应xml格式数据的方法 1 ... -
bboss mvc忽略对bean属性进行参数绑定方法
2013-10-10 20:20 974bboss mvc忽略对bean属性进行参数绑定方法非常简单, ... -
bboss mvc参数绑定注解RequestParam使用说明
2013-08-17 00:02 4197bboss mvc参数绑定注解RequestParam使用说明 ... -
bboss mvc参数绑定注解MapKey使用说明
2013-08-10 23:27 1184bboss mvc参数绑定注解MapK ... -
bboss mvc获取request,session,response,pageContext对象方法
2013-07-12 13:19 1391本文介绍基于bboss mvc后台java程序如何获取requ ... -
bboss mvc ajax响应输出中文乱码解决方法
2013-07-10 23:08 1071对于bboss mvc ajax请求响应出现的中文乱码问题,怎 ...
相关推荐
- 扩展与自定义:指导如何根据需求扩展BBoss MVCDemo,包括自定义拦截器、过滤器等。 总的来说,BBoss MVCDemo是一个全面的开发框架,涵盖了从基础到高级的企业级应用开发各个方面。通过阅读“bboss mvc开发手册....
bboss会话共享通过为应用提供统一的会话管理功能,保证了即使用户被切换到其他节点,也能够继续访问之前保存的会话数据。 其次,bboss会话共享支持跨域和跨应用的会话共享,并能实现单点登录(SSO)功能。单点登录...
6. **安全控制**:BBoss提供了用户认证和授权机制,包括基于角色的访问控制(RBAC)、会话管理以及CSRF防护等,保障系统安全性。 7. **缓存支持**:集成多种缓存技术,如Ehcache、Redis等,优化数据读取性能,减轻...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
5. **高级功能**: 学习如何利用 BBoss 进行聚合分析、自定义插件开发、性能优化等进阶操作。 **五、视频教程** 1. **搭建bboss elasticsearch开发环境.wmv**: 这个视频将指导你完成从安装Elasticsearch到配置BBoss...
BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...
为了便于管理和监控,bboss-datatran 提供了可视化的操作界面,用户可以查看作业状态、监控性能指标、调整作业配置等。此外,它还支持API接口,方便集成到自动化运维流程中。 ### 社区支持 作为开源项目,bboss-...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
除了基础操作外,bboss还提供了批量操作、事务控制、性能优化、异常处理等高级特性。例如,可以使用bboss的批处理API一次性处理大量数据,提高数据导入效率。 7. **应用场景** 结合bboss和Elasticsearch,开发者...
其设计允许灵活地集成各种应用,并提供了丰富的会话管理事件以及过滤器,使得集成过程尽可能简单且高效。 五、bbosssession部署模式 部署模式涉及到bbosssession在不同环境下的应用,包括如何结合使用诸如apache、...
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
2. `jackson-databind-2.9.8.jar`:Jackson是JSON处理库,`databind`模块实现了将Java对象映射到JSON和反向映射的功能,对于Elasticsearch的数据导入和导出非常关键。 3. `bboss-util-5.5.0.jar`和`bboss-...
官方版本,亲测可用
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...
6. **性能优化**:BBoss Persistent还可能包括针对CLOB和BLOB的性能优化,比如预读取、延迟加载等策略,以提高应用的响应速度和整体性能。 总结来说,BBoss Persistent 1.0.2在处理CLOB和BLOB这类大字段时,通过...