关于用户自定义登录失败后抛出UsernameNotFoundException的一个问题
来源:4-13 小结
TinyLeon
2018-05-05
老师好:
在老师课程里的MyUserDetailsService继承了UserDetailsService,重写了loadUserByUsername()方法。该方法抛出UsernameNotFoundException异常。我用下面的方法,不能自定义UsernameNotFoundException的异常信息,不管怎么样,抛出的异常信息都是"Bad credentials"
throw new UsernameNotFoundException("用户不允许登录");然后我按照UsernameNotFoundException的逻辑,自定义了一个MyUsernameNotFoundException异常,在这个异常信息类里,也继承了AuthenticationException。然后我用下面的方法抛出:
throw new MyUsernameNotFoundException("用户不允许登录");在ImoocAuthenticationFailureHandler里果然收到了“用户不允许登录”这个提示,但是遗憾的是,console里面出现的异常信息,这样用户体验不太好。
请问老师:
1.为什么 throw new UsernameNotFoundException("用户不允许登录") 里面的String不能传递到ImoocAuthenticationFailureHandler,内容被替换为"Bad credentials",这个在哪里替换的
2.自定义的MyUsernameNotFoundException逻辑与UsernameNotFoundException完全一致,只是名字不一样,为什么抛出后会在控制台里打印异常堆栈信息,而UsernameNotFoundException就没有打印呢?
感谢老师!
1回答
-
TinyLeon
提问者
2018-05-05
已修复,感谢老师。不知道怎么把问题关了。
012018-05-30
Spring Security技术栈开发企业级认证与授权
2662 学习 · 1561 问题
相似问题
回答 1
回答 1