67,512
社区成员
发帖
与我相关
我的任务
分享
@Before("controllerMethod()")
public void interceptor(JoinPoint jp) throws PermissionDeniedException {
System.out.println("----------拦截方法开始----------");
Object[] args = jp.getArgs();
HttpServletRequest request = null;
for (int i = 0; i < args.length; i++) {
System.out.println("method:" + args[i].toString());
// 获取当前拦截方法的request对象
if (args[i] instanceof HttpServletRequest) {
request = (HttpServletRequest) args[i];
}
}
User user = getUser(request);
String privilegeUrl = getURL(request);
System.out.println("target:" + jp.getTarget());
System.out.println(jp.getSignature().getName());
System.out.println(getURL(request));
//判断用户是否有权限
if(!hasPrivilegeByUrl(privilegeUrl, request, user)){
System.out.println("判断权限");
throw new PermissionDeniedException("您没有该权限");
}
System.out.println("----------拦截方法结束----------");
}
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="cn.huizhupay.interceptor.PermissionDeniedException">permissionException</prop>
</props>
</property>
</bean>