- 浏览: 693871 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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配置文件编写和加载方法介绍
声明:3.6以后的bboss中已经增加了安全过滤器,不再需要这个拦截器来进行安全认证检测
浅谈 bboss mvc 页面访问控制实现机制,本文介绍如何通过bboss mvc框架中的拦截器来实现页面访问控制功能,内容不多,很简单,但是很实用,呵呵。切入正题。
1.bboss mvc拦截器介绍
1.1 bboss mvc的拦截器接口为:
1.2 bboss mvc提供了页面访问控制的基础抽象类,这个类实现了HandlerInterceptor接口:
AuthenticateInterceptor提供了抽象方法:
参数说明:前两个参数是url请求提供了jsp请求对象request和请求响应对象response,第三个参数是mvc请求控制器的元数据信息handlerMeta,通过这个对象用户可以获取到控制的相关定义信息。
返回值说明:返回boolean值,如果是true表示允许访问,为false表示不允许访问。如果验证通过时,还可以将用户会话信息以特定的key值对方式存储到request的attribute中,以便控制器方法中方便地获取用户会话信息;如果验证不通过那么则跳转到用户指定的页面,同时会将用户当前请求的页面信息(页面路径,页面参数)转交给失败跳转页(一般是登陆页面),当登陆通过后,任然允许用户获取这些信息转向到需要访问的页面。
1.3 通过继承AuthenticateInterceptor类并实现其中的抽象check方法用户可以非常方便地实现自己的访问控制拦截器
1.4 用户实现了自己的访问控制拦截器后,还需要在bboss-mvc.xml中配置访问控制拦截和器拦截页面规则(可以非常方便地配置需要拦截的url请求和不需要拦截的url请求,如果不指定这些规则,就拦截所有的url请求方法,这里的url请求指的是mvc控制url请求)。
下面举例说明
2.实现自己的访问控制拦截器
2.1 访问控制拦截器定义
这个访问控制拦截器逻辑非常简单,直接通过name参数值来判断页面是否可以访问,如果name有值并且值为test那么就阻止用户继续访问,否则允许用户访问。
2.2 访问控制拦截器及拦截规则配置
bboss-mvc.xml文件中找到如下内容(如果没有就加进去,这里可以配置多个全局拦截器):
找到后将访问控制拦截器配置进去:
这里需要说明一下:
patternsInclude-用来指定需要拦截的url请求规则列表,可以是通配符,也可以是具体的地址
patternsExclude-用来指定不需要拦截的url请求规则列表,可以是通配符,也可以是具体的地址
redirecturl-用来指定验证失败时需要跳转的页面,例如/login.jsp,前面带/表示这个地址是相对于应用上下文的地址,当前请求的页面信息(页面路径,页面参数)转交给失败跳转页(一般是登陆页面),当登陆通过后,任然允许用户通过获取这些信息转向到需要访问的页面(跳不跳由用户自己决定)。
如果patternsInclude和patternsExclude都没有指定,那么默认拦截所有的控制方法请求。patternsExclude指定的规则优先级要高些,只要匹配上这个规则那么页面通通放行。
ok,就这么简单,呵呵,本文参考bbossgroups 3.2版本功能编写,适用3.2及后续版本。
有空了做一个放上来。大家还有什么建议尽管提出来。
浅谈 bboss mvc 页面访问控制实现机制,本文介绍如何通过bboss mvc框架中的拦截器来实现页面访问控制功能,内容不多,很简单,但是很实用,呵呵。切入正题。
1.bboss mvc拦截器介绍
1.1 bboss mvc的拦截器接口为:
org.frameworkset.web.servlet.HandlerInterceptor
1.2 bboss mvc提供了页面访问控制的基础抽象类,这个类实现了HandlerInterceptor接口:
org.frameworkset.web.interceptor.AuthenticateInterceptor
AuthenticateInterceptor提供了抽象方法:
protected abstract boolean check(HttpServletRequest request, HttpServletResponse response, HandlerMeta handlerMeta);
参数说明:前两个参数是url请求提供了jsp请求对象request和请求响应对象response,第三个参数是mvc请求控制器的元数据信息handlerMeta,通过这个对象用户可以获取到控制的相关定义信息。
返回值说明:返回boolean值,如果是true表示允许访问,为false表示不允许访问。如果验证通过时,还可以将用户会话信息以特定的key值对方式存储到request的attribute中,以便控制器方法中方便地获取用户会话信息;如果验证不通过那么则跳转到用户指定的页面,同时会将用户当前请求的页面信息(页面路径,页面参数)转交给失败跳转页(一般是登陆页面),当登陆通过后,任然允许用户获取这些信息转向到需要访问的页面。
1.3 通过继承AuthenticateInterceptor类并实现其中的抽象check方法用户可以非常方便地实现自己的访问控制拦截器
1.4 用户实现了自己的访问控制拦截器后,还需要在bboss-mvc.xml中配置访问控制拦截和器拦截页面规则(可以非常方便地配置需要拦截的url请求和不需要拦截的url请求,如果不指定这些规则,就拦截所有的url请求方法,这里的url请求指的是mvc控制url请求)。
下面举例说明
2.实现自己的访问控制拦截器
2.1 访问控制拦截器定义
/** * Copyright 2008 biaoping.yin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.frameworkset.web.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.frameworkset.web.servlet.handler.HandlerMeta; /** * <p> * MyFirstInterceptor.java * </p> * <p> * Description: * </p> * <p> * bboss workgroup * </p> * <p> * Copyright (c) 2009 * </p> * * @Date 2011-5-31 * @author biaoping.yin * @version 1.0 */ public class MyFirstInterceptor extends AuthenticateInterceptor{ @Override protected boolean check(HttpServletRequest request, HttpServletResponse response, HandlerMeta handlerMeta) { String name = request.getParameter("name"); if(name != null && name.equals("test")) return false; return true; } }
这个访问控制拦截器逻辑非常简单,直接通过name参数值来判断页面是否可以访问,如果name有值并且值为test那么就阻止用户继续访问,否则允许用户访问。
2.2 访问控制拦截器及拦截规则配置
bboss-mvc.xml文件中找到如下内容(如果没有就加进去,这里可以配置多个全局拦截器):
<!-- 配置全局控制器方法拦截器 --> <property name="org.frameworkset.web.servlet.gloabel.HandlerInterceptors" > <list componentType="bean"> ............... </list> </property>
找到后将访问控制拦截器配置进去:
<!-- 配置全局控制器方法拦截器 --> <property name="org.frameworkset.web.servlet.gloabel.HandlerInterceptors" > <list componentType="bean"> <!-- 配置认证检查拦截器 --> <property class="org.frameworkset.web.interceptor.MyFirstInterceptor"> <!-- 配置认证检查拦截器拦截url模式规则 --> <property name="patternsInclude"> <list componentType="string"> <property value="/**/*.do"/> </list> </property> <!-- 配置认证检查拦截器不拦截url模式规则 --> <property name="patternsExclude"> <list componentType="string"> <property value="/*.html"/> </list> </property> <property name="redirecturl" value="/login.jsp"/> </property> </list> </property>
这里需要说明一下:
patternsInclude-用来指定需要拦截的url请求规则列表,可以是通配符,也可以是具体的地址
patternsExclude-用来指定不需要拦截的url请求规则列表,可以是通配符,也可以是具体的地址
redirecturl-用来指定验证失败时需要跳转的页面,例如/login.jsp,前面带/表示这个地址是相对于应用上下文的地址,当前请求的页面信息(页面路径,页面参数)转交给失败跳转页(一般是登陆页面),当登陆通过后,任然允许用户通过获取这些信息转向到需要访问的页面(跳不跳由用户自己决定)。
如果patternsInclude和patternsExclude都没有指定,那么默认拦截所有的控制方法请求。patternsExclude指定的规则优先级要高些,只要匹配上这个规则那么页面通通放行。
ok,就这么简单,呵呵,本文参考bbossgroups 3.2版本功能编写,适用3.2及后续版本。
评论
7 楼
yin_bp
2011-06-29
ainidehsj 写道
最好能上传一个简单demo环境包。
有空了做一个放上来。大家还有什么建议尽管提出来。
6 楼
ainidehsj
2011-06-29
最好能上传一个简单demo环境包。
5 楼
yin_bp
2011-06-29
bbossgroups的demo里面就有个简单的例子,
http://www.xtzy.com:800/bboss-mvc/index.htm,当这个地址带name=test这个参数时就跳转到login.jsp页面,例如:
http://www.xtzy.com:800/bboss-mvc/index.htm?name=test
呵呵至于适合业务系统真实的案例,东西很多一下子放不上来,本文只是介绍了基本功能。
http://www.xtzy.com:800/bboss-mvc/index.htm,当这个地址带name=test这个参数时就跳转到login.jsp页面,例如:
http://www.xtzy.com:800/bboss-mvc/index.htm?name=test
呵呵至于适合业务系统真实的案例,东西很多一下子放不上来,本文只是介绍了基本功能。
4 楼
stworthy
2011-06-29
能不能给出一个典型案例,接近实际的比较好。
3 楼
yin_bp
2011-06-28
喜欢页面访问控制研究的朋友,不知道这篇文章对你们有没有帮助哦
2 楼
yin_bp
2011-06-09
重在参与,重在分享和交流,用不用没关系
1 楼
java_user
2011-06-09
受教了,虽然可能用不上,但能学习这种思维也很好
发表评论
-
bboss mvc控制器方法跳转地址设置方法介绍
2017-12-09 21:52 907bboss mvc控制器方法跳转地址设置方法介绍 1.直接指 ... -
bboss mvc json插件设置日期类型格式方法
2017-02-28 11:33 740bboss mvc json插件设置日期类型格式方法 一般的 ... -
bboss mvc控制器实现etag和last modify两种http缓存机制
2016-09-07 23:48 1260bboss mvc控制器实现etag和last modify两 ... -
bboss wordpdf构建部署介绍
2016-09-02 15:47 568bboss wordpdf构建部署介绍 下载 源码下载地址: ... -
bboss 令牌和凭证redis存储机制配置
2016-03-29 20:42 1387bboss 提供了四种令牌和凭证存储机制: 内存 不能在集 ... -
bboss 票据实现系统SSO功能介绍
2016-03-10 16:50 1693测试环境应用账号: app ... -
解决tomcat stop报Illegal access: this web application instance has been stopped异常方法
2015-12-26 23:41 5934解决tomcat stop报Illegal access: t ... -
bboss mvc文件上传实例
2015-06-08 11:13 37本文着重介绍bboss mvc文件上传功能,切入正题 功能点 ... -
bboss mvc @RequestBody注解使用说明
2014-10-23 15:53 1047@RequestBody可以将客户端请求报文体通过数据类型转换 ... -
平台自定义资源权限控制使用方法
2014-10-23 11:17 1686本文以一个简单的实例来介绍bboss平台自定义资源权限控制使用 ... -
平台登录账号口令加密机制设置方法
2014-10-13 16:35 1141平台登录账号口令加密机制设置方法 平台加密机制: ... -
bboss安全认证过滤器认证后重定向到请求页面功能介绍
2014-10-12 10:55 1339本文介绍bboss安全认证 ... -
bboss mvc控制器方法响应报文注解ResponseBody使用说明
2014-09-20 22:39 1190bboss mvc控制器方法响应 ... -
bboss mvc启动事件监听器使用方法
2014-09-02 20:25 1155在实际应用,往往需要在mvc容器启动后执行相应的操作,bbos ... -
bboss跨站攻击白名单和脚本攻击防火墙配置
2014-08-01 09:56 1106本文详细介绍bboss跨站攻击白名单和跨站脚本攻击防火墙配置 ... -
bboss session共享使用方法介绍
2014-05-10 16:12 6130bboss session共享使用方法 ... -
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍
2014-04-12 14:31 1652bboss将一个组件同时发布为webservice,hessi ... -
bboss发布apache cxf 2.7.6服务和定义客户端服务实例可能产生冲突解决办法
2014-03-22 23:16 1085bboss发布apache cxf 2.7.6服务和定义客户端 ... -
bboss mvc接收和响应xml格式数据的方法
2013-12-28 19:14 1068本文介绍bboss mvc接收和响应xml格式数据的方法 1 ... -
bboss防止跨站攻击策略
2013-10-12 21:35 1089bboss防止跨站攻击策略 此前博客中撰文介绍了bboss 动 ...
相关推荐
- 安全控制:详细解释权限控制机制,包括角色管理、权限分配和URL过滤。 - 性能调优:提供性能优化的建议和技巧,如缓存配置、日志优化等。 - 扩展与自定义:指导如何根据需求扩展BBoss MVCDemo,包括自定义拦截器、...
总结来说,bboss MVC框架通过JSONP机制实现了跨站跨域数据访问,这对于需要进行跨域通信的Web应用非常有用。同时,这个主题也涵盖了源码理解和工具使用,以及可能涉及的国际化开发实践。对于Java Web开发者而言,...
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
本文将深入讲解bbossgroups开发系列文章之一中的最佳实践,涉及bboss MVC框架的基础配置、控制器、数据库访问、DAO组件、业务组件管理以及与前端的交互等方面。 首先,我们来了解bboss MVC框架的基础配置。bboss-...
6. **安全控制**:BBoss提供了用户认证和授权机制,包括基于角色的访问控制(RBAC)、会话管理以及CSRF防护等,保障系统安全性。 7. **缓存支持**:集成多种缓存技术,如Ehcache、Redis等,优化数据读取性能,减轻...
安全性方面,bboss会话共享通过在客户端基于cookie机制存储sessionid,并设置cookie的HttpOnly属性来防止XSS攻击窃取sessionid,通过设置Secure属性并在HTTPS环境下传输来防止sessionid被窃取。同时,还提供会话信息...
官方版本,亲测可用
BBoss安全认证过滤器是Java Web开发中一种用于实现用户身份验证和权限控制的重要组件。在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在...
该工具是一款基于bboss...此工具能够自动生成bboss MVC、IOC、持久化、JSP、i18n、SQL配置文件、Web服务、Hessian服务等相关源代码,适用于快速开发和项目迭代。详细文档请参考:http://yin-bp.iteye.com/blog/2256948
4. **源码分析**:标签中提到的“源码”意味着我们可以通过查看BBoss Persistent的源代码来了解其内部处理大字段的具体实现。通过这种方式,开发者可以更好地理解其工作原理,进行定制化开发或优化。 5. **工具支持...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
在Java中,传统的JDBC编程方式往往需要编写大量重复的SQL代码,而ORM框架如BBoss-DB-Elasticsearch-Tool则通过元数据(如注解或XML配置)将Java对象与数据库表映射起来,实现了数据的透明访问。这极大地提高了开发...
结合bboss和Elasticsearch,开发者可以轻松实现日志实时分析、用户行为追踪、商品推荐等业务场景,通过DSL实现复杂查询和聚合分析,提升应用的数据处理能力。 总之,bboss+es基本操作示例是学习和实践Elastic...
1.mvc控制器 2.业务组件 3.实体类 4.jsp文件可以定制不同风格的界面模板,目前提供了平台的基础ui风格 5.cxf webservice服务类文件 6.hessian服务类文件 7.sql配置文件 8.ioc / mvc组件装配部署和服务发布配置文件。...
4. **更新和删除**: 更新已存在的文档,或者根据条件删除数据,同样可以通过 BBoss API 实现。 5. **高级功能**: 学习如何利用 BBoss 进行聚合分析、自定义插件开发、性能优化等进阶操作。 **五、视频教程** 1. **...