2016-11-30 8 views
-1

を作るために雑草私は春のセキュリティ3.2.7でangularjsを使用していますとTomcat 6にデプロイは、私はTomcatの6と春のセキュリティ3.2.7を使用していますが、私はログアウトボタン

@RequestMapping(value = "/login", method = RequestMethod.POST) 
public @ResponseBody Map<String, ? extends Object> login(
         HttpServletRequest request, 
         @RequestParam String userName, 
         @RequestParam String password) { 
    Map<String, Object> response = new HashMap<String, Object>(); 
    logger.info("RegistreController Login..."); 
    logger.info("Start Login for the user :"+userName); 
    try{ 
    String encodedPassword = hashPassword(password); 
    System.out.println("encodedPassword = "+encodedPassword); 

    final UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(userName, encodedPassword); 

    // this function returns UsernamePasswordAuthenticationToken(user, password, authorities) 
    final Authentication authentication = authenticationProvider.authenticate(authRequest); 

    SecurityContextHolder.getContext().setAuthentication(authentication); 
    Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 

    CustomUser user = null; 
    if (principal instanceof CustomUser) { 
     user = ((CustomUser)principal); 
    } 
}catch(Exception e) { 
    if(e instanceof CredentialsExpiredException){ 
     response.put("expired", true); 
    } 
    response.put("success", false); 
    response.put("msg", e.getMessage()); 
    logger.fatal(new MasterProtectionLogger().reportError("UserAdminController.login()", e, logger)); 
} 
    return response; 
} 

ログイン操作のために、このコードを使用Iコードでログアウトを書く必要があります(j_spring_security_logoutを呼び出さない) どうすればいいですか?

答えて

0

キー行は次のとおりです。

SecurityContextHolder.clearContext(); 

ます。また、HTTPセッションを無効にすることができます。

関連する問題