applicationContext.xml
<bean id="empDAO" class="dao.EmpDAO"></bean>
<bean id="empService" class="service.EmpService">
<property name="dao">
<ref local="empDAO" />
</property>
</bean>
<bean name="/emp" class="action.EmpAction">
<property name="service">
<ref local="empService" />
</property>
</bean>
<!-- 定义普通员工权限检查拦截器 ,class即前面的EmpAuthorityInterceptor.java-->
<bean id="empAuthorityInterceptor"
class="util.EmpAuthorityInterceptor" />
<!-- 以员工权限拦截器生成代理 -->
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>/emp</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>empAuthorityInterceptor</value>
</list>
</property>
</bean>
EmpAuthorityInterceptor.java
package util;
import javax.servlet.http.HttpServletRequest;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.struts.action.ActionMapping;
public class EmpAuthorityInterceptor implements MethodInterceptor {
public Object invoke(MethodInvocation invocation) throws Throwable {
HttpServletRequest request = null;
ActionMapping mapping = null;
Object[] args = invocation.getArguments();
// 解析目标方法的参数
for (int i = 0; i < args.length; i++) {
if (args[i] instanceof HttpServletRequest)
request = (HttpServletRequest) args[i];
if (args[i] instanceof ActionMapping)
mapping = (ActionMapping) args[i];
}
String parameter = mapping.getParameter();
String methodName = request.getParameter(parameter);
String path = mapping.getPath();
System.out.println("方法名======"+methodName);
System.out.println("path======="+path);
// 从session中得到用户
String username = (String) request.getSession()
.getAttribute("username");
// 如是经理级别则继续,否则,回到登陆页面
if (username != null && username.equals("admin")) {
return invocation.proceed();
} else {
return mapping.findForward("error");
}
}
}
分享到:
相关推荐
用spring aop 编写的权限验证实例代码,下载后将解压后的文件直接导入到eclipse中,直接运行测试方法即可。
主要介绍了Spring AOP实现权限检查的功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本篇文章主要介绍了Java之Spring AOP 实现用户权限验证,用户登录、权限管理这些是必不可少的业务逻辑,具有一定的参考价值,有兴趣的可以了解一下。
一个简单的采用自定义注解结合SpringAop实现方法执行的权限管理,这个demo中并没有涉及到与数据库的交互和业务代码,用户权限在登陆时采用简单的手动初始化。该demo用的jdk1.7编译,Spring4.0版本,只想通过这个demo...
Spring 权限 这里是一个 spring aop 实现的一个权限 包括权限设计 这个不是很能懂 包括注释
本篇文章主要介绍了spring aop实现用户权限管理的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
内含有mybatis 拦截器实现的分页代码,spring 的事务和aop 测试、和反射工具类
传统的应用程序实现 J2EE容器实现 AOP下的应用程序权限控制实现
代码实现简单,易于维护:使用 Spring AOP 可以将耗时监测的逻辑与业务逻辑进行解耦,避免业务逻辑代码的冗余和代码维护难度的提高。 2. 安全性高:使用 Spring AOP 进行方法耗时监测,可以在不修改业务逻辑代码的...
本篇文章主要介绍了Spring AOP实现功能权限校验功能的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring AOP 使用纯 Java 实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类植入增强的代码。 课程内容非常详细的介绍Spring AOP全栈技术点,开篇帮助同学们进行知识储备,夯实基础就是核心!...
SpringAOP与SpringMVC拦截器两种方式实现权限管控,前台xml读取配置根据登录用户判断button是否enable
1、编写切面类,包含权限审核方法和日志记录方法,这两个方法将来会织入到...5、编写案例,运用Spring AOP技术,要求包含前置通知、后置通知、环绕通知、返回通知、异常返回通知。请掌握这五种通知的特点,及应用场景
主要介绍了spring aop 拦截业务方法,实现权限控制示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
主要介绍了SpringBoot使用AOP+注解实现简单的权限验证的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring中的AOP可以控制权限,在我们做项目的时候,用Struts的过滤方法也可以实现。 当然这个文件只是提供测试,我们主要是学习这个AOP的思想。大家下载后可以再摸索......
基于springsecurity+springmvc+spring+hibernate的权限管理系统,实现资源、用户、权限、角色的增删改查,角色-资源管理,用户-角色管理等基础功能,可以作为springmvc+spring+hibernate的增删改查入门项目,也可以...
主要介绍了Spring Boot 通过AOP和自定义注解实现权限控制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
讲解了3种AOP的开发方式,即使用@Aspect注释符、基于Schema的配置的开发方式和Spring API的开发方式,最后在实际的Java EE项目中实现5种Spring AOP功能(日志记录器、性能分析器、权限检查拦截器、异常监视器、在线...
1、通过spring security实现的RBAC权限的模型基础上实现权限、角色、资源的管理,实现根据数据库动态分配权限的功能,对未登录及未授权的操作进行拦截。在用户管理中心,管理员可添加用户代替了自行注册方式。 2、...