67,513
社区成员
发帖
与我相关
我的任务
分享
public class RequestInterceptor implements HandlerInterceptor {
@Autowired
private SysNavbarService sysNavbarService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// 如果访问的url是静态资路径, 则不执行以下代码
if (request.getRequestURI().indexOf(request.getContextPath() + "/assets/") == -1) {
// 以下model只要存入登录的用户、菜单、权限信息
ActiveUser activeUser = new ActiveUser();
// 取出登录用户的信息
Subject subject = SecurityUtils.getSubject();
activeUser = (ActiveUser) subject.getPrincipal();
// 从数据库中取出菜单数据
List<SysNavbar> menus = sysNavbarService.getMenu();
// 将菜单数据添加到 model中
activeUser.setMenus(menus);
modelAndView.addObject("activeUser", activeUser);
}
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO Auto-generated method stub
}
}