@ResponseBody @RequestMapping("noLogin") public String noLogin(@RequestParam("uname") String uname) { if (ValidateUtil.isValid(uname)) { AdminUser result = adminUserService.noLogin(uname); // 用户不存在 if (!ValidateUtil.isValid(result.getId())) { adminUserService.saveOrUpdateEntiry(result); } UserDetailsService detail = (UserDetailsService) SpringContextUtil.getBean("myUserDetail"); UserDetails details = null; try { details = detail.loadUserByUsername(result.getName()); } catch (Exception e) { return "用户未找到"; } UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(details, null, details.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(authenticationToken); HttpSession session = getRequest().getSession(true); // session.setAttribute("SPRING_SECURITY_CONTEXT", SecurityContextHolder.getContext()); } return "redirect:/user"; }