首页>代码>java开源分布式任务调度框架xxl-job支持oracle实例>/xxl-job-2.1.0/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
package com.xxl.job.admin.controller.interceptor; import com.xxl.job.admin.controller.annotation.PermissionLimit; import com.xxl.job.admin.core.model.XxlJobUser; import com.xxl.job.admin.core.util.I18nUtil; import com.xxl.job.admin.service.LoginService; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 权限拦截 * * @author xuxueli 2015-12-12 18:09:04 */ @Component public class PermissionInterceptor extends HandlerInterceptorAdapter { @Resource private LoginService loginService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (!(handler instanceof HandlerMethod)) { return super.preHandle(request, response, handler); } // if need login boolean needLogin = true; boolean needAdminuser = false; HandlerMethod method = (HandlerMethod)handler; PermissionLimit permission = method.getMethodAnnotation(PermissionLimit.class); if (permission!=null) { needLogin = permission.limit(); needAdminuser = permission.adminuser(); } if (needLogin) { XxlJobUser loginUser = loginService.ifLogin(request, response); if (loginUser == null) { response.sendRedirect(request.getContextPath() + "/toLogin"); //request.getRequestDispatcher("/toLogin").forward(request, response); return false; } if (needAdminuser && loginUser.getRole()!=1) { throw new RuntimeException(I18nUtil.getString("system_permission_limit")); } request.setAttribute(LoginService.LOGIN_IDENTITY_KEY, loginUser); } return super.preHandle(request, response, handler); } }
最近下载更多
szf123 LV12
2023年11月9日
xuexizhuanyong23 LV16
2022年10月11日
vicgong LV4
2022年5月19日
chengqiang LV13
2022年4月8日
wydpopwyd LV11
2021年10月12日
kwm2921944 LV10
2021年6月30日
雷纹_码农的进阶 LV7
2021年4月9日
微量的记忆 LV10
2021年2月25日
lironggang LV38
2020年12月22日
0312wangchen LV26
2020年7月1日