spring security抛出AuthenticationException异常的原因
2013-12-04 16:10
423 查看
可能是因为密码不正确,特别是密码使用md5或者其它的加密算法加密之后,更是如此。
还有一点:
在UsernamePasswordAuthenticationFilter的子类中的attemptAuthentication方法中,只要去验证你自己的逻辑就可以了,不要在这里验证用户名,密码是否正确,因为这是UserDetailsService要干的事情。
比如我的attemptAuthentication方法中就是这样:
还有一点:
在UsernamePasswordAuthenticationFilter的子类中的attemptAuthentication方法中,只要去验证你自己的逻辑就可以了,不要在这里验证用户名,密码是否正确,因为这是UserDetailsService要干的事情。
比如我的attemptAuthentication方法中就是这样:
@Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { if (!request.getMethod().equals("POST")) { throw new AuthenticationServiceException("Authentication method not supported: " + request.getMethod()); } //检测验证码 checkValidateCode(request); String username = obtainUsername(request); String password = obtainPassword(request); //为了辨别从前台进入的,还是从后台进入的 String type=request.getParameter(ENTRY); request.getSession().setAttribute(USER_ENTRY, type); if("bg".equals(type)) { username="bg_"+username; }else if("fg".equals(type)) { username="fg_"+username; } //这里的username会传给UserDetailsService的loadUserByUsername方法,作为loadUserByUsername的参数。 UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(username, password); // 允许子类设置详细属性 setDetails(request, authRequest); // 运行UserDetailsService的loadUserByUsername 再次封装Authentication AuthenticationManager authenticationManager = this.getAuthenticationManager(); Authentication authentication=authenticationManager.authenticate(authRequest); return authentication; }
相关文章推荐
- spring security抛出AuthenticationException异常的原因
- spring security抛出AuthenticationException异常的原因
- Spring boot 前后台分离项目 怎么处理spring security 抛出的异常
- 运用@Transactional,自己抛出异常时不会回滚的原因,经验之谈
- 运用@Transactional,自己抛出异常时不会回滚的原因
- Android之多次解绑抛出异常原因
- 调用远程主机上的RMI服务时抛出java.rmi.ConnectException: Connection refused to host: 127.0.0.1异常原因及解决方案
- release版本抛出异常 Current active device is NULL 原因
- .NET 调用JS:WebBrowser.Document.InvokeScript 方法抛出“指定的转换无效”异常的原因
- 运用@Transactional,自己抛出异常时不会回滚的原因
- 运用@Transactional,自己抛出异常时不会回滚的原因
- javah导出类的头文件抛出异常——java.lang.IllegalArgumentException: Not a valid class name(原因及解决方法)
- xStream xml转java bean,抛出CannotResolveClassException异常原因
- 调用远程主机上的RMI服务时抛出java.rmi.ConnectException: Connection refused to host: 127.0.0.1异常原因及解决方案
- 解决Spring AOP 事务 配置 失效原因--业务类里抛出的异常不满足事务拦截器里定义的异常
- 调用远程主机上的RMI服务时抛出java.rmi.ConnectException: Connection refused to host: 127.0.0.1异常原因及解决方案
- 运用@Transactional,自己抛出异常时不会回滚的原因
- 调用远程主机上的RMI服务时抛出java.rmi.ConnectException: Connection refused to host: 127.0.0.1异常原因及解决方案
- Spring boot 前后台分离项目 怎么处理spring security 抛出的异常
- 关于Tomcat服务器启动抛出异常的原因