【发布时间】:2013-06-30 15:35:11
【问题描述】:
当用户尝试使用不正确的凭据登录或用户因某种原因被禁用时,我能够显示 SPRING_SECURITY_LAST_EXCEPTION.message(“错误凭据”)。
我想在用户被禁用的情况下显示自定义消息,而不是显示“错误凭据”而是说“您已被禁用......等等,等等......”。我该怎么做?
我正在使用 UserDetailsService 在 Spring Security 中提供用户名/密码。
【问题讨论】:
-
您是否尝试过stackoverflow.com/questions/1373407/… 中描述的方法?
-
部分有效。我可以获得自定义消息,但是,它总是返回为 AbstractUserDetailsAuthenticationProvider.badCredentials 配置的消息。即使我抛出 DisabledException,我也会收到与我的 jsp 页面中为 badCredentials 定义的消息相同的消息
-
请说明您使用的是什么版本,从哪里抛出异常以及在哪里显示消息。最好发布您正在使用的实际网络安全配置。
-
春季版本 3.1.2。我的实现 UserDetailsService 的类抛出异常,并使用 ${sessionScope["SPRING_SECURITY_LAST_EXCEPTION"].message} 显示在我的登录 jsp 页面中
标签: spring authentication spring-security