这几天设计一个项目,虽然基本上是采用老项目的权限管理,但发现老项目的权限管理,把一些细微的权限写死在方法里面,而且每增加一个权限,都有进行配置,写静态属性,很烦。所以今天想了下,决定采用webwork自带的拦截器来实现细微的权限设计。在这里我就不细说拦截器的使用了。贴代码出来
java 代码
- public class PermissionInterceptor implements Interceptor {
- private static Logger logger = Logger.getLogger(PermissionInterceptor.class);
-
-
-
-
- private String prem;
-
-
- public final void setPrem(String prem) {
- this.prem = prem;
- }
-
- public PermissionInterceptor() {
- super();
- }
-
- public void destroy() {
- }
-
- public void init() {
- }
-
-
-
-
- public String intercept(ActionInvocation invocate) throws Exception {
- logger.debug(prem);
- if(PermissionUtil.hasPermission(prem)){
- logger.debug("No Prem");
- return invocate.invoke();
- }else{
- logger.debug("Yes Prem");
- return Constant.NOT_AUTHORIZE;
- }
-
- }
-
- }
在配置文件里只需要这样做就ok了
xml 代码
- <action name="list"
- class="com.teesoo.teanet.action.member.MemberAction" method="list">
- <result name="success" type="freemarker">
- /WEB-INF/template/member/member_list.ftl
- </result>
-
- <interceptor-ref name="myDefaultStack">
-
- </interceptor-ref>
-
- <interceptor-ref name="permissionInterceptor">
- <param name="prem">
- df
- </param>
- </interceptor-ref>
-
- </action>
<action name="list"><interceptor-ref name="permissionInterceptor">
</interceptor-ref>
</action>
上面的df就是你自己定义的权限操作参数。这样就避免了软编码。直接硬编码就ok了。方便明了。
我这才发现webwork的拦截器是多么的贴心
分享到:
相关推荐
WebWork权限拦截器是WebWork框架中的一个重要组件,主要用于实现基于拦截器(interceptor)的权限控制。在Web开发中,权限拦截器扮演着至关重要的角色,它可以在用户请求到达控制器之前进行预处理,判断用户是否有权...
本篇将详细介绍WebWork中的核心概念——拦截器(Interceptor)以及验证(Validation)机制,并结合提供的帮助文档进行学习指导。 首先,我们来理解WebWork的拦截器机制。在WebWork中,拦截器是处理请求的关键组件,...
可以使用`<interceptors>`标签定义拦截器栈,然后使用`<interceptor>`标签声明具体的拦截器,最后在`<action>`标签中通过`<interceptor-ref>`指定拦截器的使用。 例如: ```xml ...
例如,在Webwork框架中,拦截器被称为动态拦截Action调用的对象。它不仅允许开发者定义在Action执行前后执行的代码,还可以在Action执行前阻止其执行。此外,拦截器还提供了一种提取Action中可重用部分的有效途径。 ...
3. Interceptors(拦截器):拦截器是WebWork2.0的一个强大功能,允许在Action调用前后插入自定义逻辑,如权限验证、日志记录等。 二、WebWork2.0主要特性 1. 智能表单绑定:WebWork2.0支持自动将HTTP请求参数绑定...
WebWork2作为一款成熟的MVC框架,凭借其灵活的架构、丰富的特性,如Action驱动模式、XWork拦截器体系、输入校验、国际化支持,以及与Spring框架的良好集成,成为了企业级Web应用开发的理想选择。无论是对于初学者...
WebWork 2.0的配置相对简洁,主要通过XML配置文件来描述Action、拦截器和其他组件。对于开发者来说,熟悉这些配置规则是必不可少的。快速入门通常包括搭建开发环境、创建基本的Web应用、定义Action和配置拦截器等...
1. **WebWork基础**:WebWork的核心概念,如Action、Interceptors(拦截器)、Results和Parameters等,以及它们如何协同工作来实现业务逻辑和视图呈现的分离。理解这些基础概念是掌握WebWork的关键。 2. **MVC模式*...
4. **Interceptors(拦截器)**:WebWork引入了拦截器的概念,它们在Action执行前后执行,可以实现通用的功能,如权限检查、日志记录等。在源码中,你会看到这些拦截器的实现。 5. **Value Stack(值栈)**:...
5. **拦截器(Interceptor)**:WebWork 使用拦截器来处理请求前后的逻辑,这里添加的 `reference-resolver` 拦截器确保了 Action 中的外部引用能在运行时被正确解析。 6. **web.xml 配置**:配置监听器是集成的...
4. **拦截器**:WebWork2通过拦截器链来增强Action的执行过程,例如,权限检查、日志记录、事务管理等。在webwork.xml中,你可以创建自定义的拦截器并将其添加到默认的拦截器栈中。 5. **结果类型配置**:WebWork2...
1. **配置WebWork**:首先,需要在项目的web.xml中配置WebWork的监听器,并在WebWork的配置文件中定义Action和拦截器。 2. **编写Action类**:创建Action类并实现相应的业务逻辑。 3. **配置拦截器**:根据需要选择...
通过“Webwork2_guide.pdf”,读者将能够深入学习如何利用Webwork2的各种特性,包括Action的设计、拦截器的编写、配置文件的配置、异常处理和测试方法等,从而成为一名熟练的Webwork2开发者。这个指南对于初学者和...
- `<interceptors>`节点配置了拦截器,Webwork2的拦截器机制允许在Action执行前后插入自定义逻辑。例如,`params`拦截器负责将请求参数封装到Action的属性中,而`model-driven`拦截器支持Model驱动的Action模式。 ...
WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制和丰富的验证功能,帮助开发者构建可维护、可扩展的 Web 应用程序。 在 WebWork 中,配置是至关重要的,因为它定义了框架如何工作...
它使用Action类作为模型,处理用户的请求,并通过Interceptor拦截器进行业务逻辑控制,视图通常是JSP或FreeMarker模板。 二、核心概念 1. Action:WebWork中的核心组件,负责处理用户请求并执行相应的业务逻辑。...
4. **WebWork拦截器**:WebWork的拦截器机制允许在动作执行前后插入自定义逻辑,例如登录检查、性能监控或者数据验证,这在注册过程中尤为重要,可以确保数据的有效性和安全性。 5. **Spring事务管理**:对于涉及...
1. 动作拦截器(Interceptors):拦截器可以对动作执行前后的流程进行增强,如权限检查、日志记录等。通过配置,可以灵活地组合和应用拦截器。 2. 数据验证(Validation):WebWork2提供了强大的数据验证机制,可以...