springMvc單點登入對接
阿新 • • 發佈:2018-12-19
@RequestMapping(value = "/testLogin") public String ooooAuthentication(@RequestParam(value = "loginName", required = true) String loginName, HttpServletResponse response, HttpServletRequest request) { UsernamePasswordAuthenticationToken authRequestToken = new UsernamePasswordAuthenticationToken(loginName, "*****"); SecuredUser loadUserByUsername = (SecuredUser) userDetailsService.loadUserByUsername(loginName); String roleShortName = loadUserByUsername.getUser().getRole().getShortName(); loadUserByUsername.getUser().setUserLanguage("CN"); loadUserByUsername.getUser().setTimeZone("Asia/Shanghai"); List<GrantedAuthority> AUTHORITIES = new ArrayList<GrantedAuthority>(); AUTHORITIES.add(new SimpleGrantedAuthority(roleShortName)); // 設定許可權,A,U,S 應該是loadUserByUsername查處後比對下 UsernamePasswordAuthenticationToken authRequestTokennew = new UsernamePasswordAuthenticationToken(loadUserByUsername, authRequestToken.getCredentials(), AUTHORITIES); AuthenticationDetailsSource<HttpServletRequest, ?> authenticationDetailsSource = new WebAuthenticationDetailsSource(); authRequestTokennew.setDetails(authenticationDetailsSource.buildDetails(request)); SecurityContextImpl context = new SecurityContextImpl(); context.setAuthentication(authRequestTokennew); SecurityContextHolder.setContext(context); // request.getCookies(); // authRequestTokennew.getDetails(); return "redirect:/home"; //return home(user, null, null, model, response, request); }