1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- *
- */
- package com.yihu.base.security.hander;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.yihu.base.security.vo.SimpleResponse;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.security.authentication.BadCredentialsException;
- import org.springframework.security.core.AuthenticationException;
- import org.springframework.security.core.userdetails.UsernameNotFoundException;
- import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;
- import org.springframework.social.ApiException;
- import org.springframework.stereotype.Component;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- /**
- * @author chenweida
- */
- @Component("BaseAuthenctiationFailureHandler")
- public class BaseAuthenctiationFailureHandler extends SimpleUrlAuthenticationFailureHandler {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private ObjectMapper objectMapper;
- // @Autowired
- // private ExceptionController exceptionController;
- @Override
- public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
- AuthenticationException exception) throws IOException, ServletException{
- logger.info("登录失败");
- if(exception instanceof UsernameNotFoundException){
- request.getRequestDispatcher("/security/exception/usernameNotFoundException?msg="+exception.getMessage()).forward(request,response);
- }else if(exception instanceof BadCredentialsException){
- request.getRequestDispatcher("/security/exception/badCredentialsException?msg="+exception.getMessage()).forward(request,response);
- }
- // response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
- // response.setContentType("application/json;charset=UTF-8");
- // response.getWriter().write(objectMapper.writeValueAsString(new SimpleResponse(exception.getMessage())));
- }
- }
|