81,090
社区成员
发帖
与我相关
我的任务
分享
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
HandlerMethod handlerMethod = (HandlerMethod) obj;
logger.info("preHandle - method - "+handlerMethod.getMethod());
String requestUri = request.getRequestURI();
logger.info("request uri - "+requestUri);
if (null==request.getSession().getAttribute("user")){
AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
if (null!=principal){
String uid = principal.getName();//获取用户名
if ((null!=uid)&&(!"".equals(uid))){
UserDto userDto = new UserDto();
userDto.setId(Integer.parseInt(uid));
userDto =userService.getUser(userDto);
if (null!=userDto){
request.getSession().setAttribute("user", userDto);
logger.info(uid+"登录成功");
return true;
}
}else {
logger.info("error:==========loginName is empty!");
}
}else{
logger.info("==========principal is null!");
}
}else {
return true;
}
return false;
}
preHandle方法,如果在这个方法打上断点,每次登陆就不会出现问题,但只要不打断点,就会出现我之前描述的问题,求大神指点一二,是因为代码问题还是其他的配置出了问题。