apringboot aop权限控制
2024-09-08 03:08:08
定义切面:
@Aspect
@Component
public class LoginInterceptor {
@Around("@annotation(lock)")
public Object around(ProceedingJoinPoint pjp, Lock lock) {
//获取注解里的值
System.out.println("in around");
try {
return pjp.proceed();
} catch (Throwable throwable) {
throwable.printStackTrace();
return null;
}
}
@Pointcut("execution(public * com.lx.activemq.controller.*.*(..))")
public void checkToken(){
System.out.println("aop 拦截器");
}
@Around("checkToken()")
public ResponseMessage validateRole(ProceedingJoinPoint pjp) throws Throwable{
System.out.println("aop 拦截器");
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
HttpServletRequest request = sra.getRequest();
Enumeration<String> enumeration = request.getHeaderNames();
request.getParameterNames();
StringBuffer headers = new StringBuffer();
while (enumeration.hasMoreElements()) {
String name = enumeration.nextElement();
String value = request.getHeader(name);
System.out.println(name + ":" + value);
}
if(request.getParameter("flag").equals("0")){
pjp.proceed();
}
return new ResponseMessage().noAccess("没有登录权限");
}
}
最新文章
- 找一个四位数,要求该四位数的四倍刚好是该四位数的反序。 即b1b2b3b4 * 4 = b4b3b2b1
- react经典进阶demo
- Class类工具 - ClassUtils.java
- js_sl 延迟菜单
- Android开发UI之自定义控件的皮肤
- C# Post Json数据
- Vim的snipMate插件
- CSM认证培训知识汇总
- Windows Server 2016-DHCP增删功能介绍
- 一位6年老Android面经总结
- Exp1 PC平台逆向破解 20164311
- 【AGC002E】Candy Piles 博弈论
- python 全栈开发,Day138(scrapy框架的下载中间件,settings配置)
- nginx下wordpress 固定链接问题
- 各种SQL查询技巧汇总 (转)
- 2017-2018-2 20165318 实验二《Java面向对象程序设计》实验报告
- NAT模式下远程连接centos6虚拟机与虚拟机网络配置
- MySQL简述
- async函数基础
- JS - 给数组的原型添加去掉重复元素的distinct方法