如何在jsp中显示spring security auth exception的自定义错误消息

nov*_*ice 30 java spring spring-mvc spring-security

我想在jsp中显示自定义错误消息以获取spring安全性身份验证异常.

对于错误的用户名或密码,

spring displays : Bad credentials
what I need     : Username/Password entered is incorrect.
Run Code Online (Sandbox Code Playgroud)

对于用户被禁用,

spring displays : User is disabled
what I need     : Your account is diabled, please contact administrator.
Run Code Online (Sandbox Code Playgroud)

我是否需要为此重写AuthenticationProcessingFilter?或者我可以在jsp本身做一些事情来查找身份验证异常密钥并显示不同的消息

rod*_*oap 31

重新定义spring security jar 中的messages.properties中的属性.例如,添加到类路径myMessages.properties并向上下文添加消息源:

AbstractUserDetailsAuthenticationProvider.badCredentials=Username/Password entered is incorrect.
AbstractUserDetailsAuthenticationProvider.disabled=Your account is diabled, please contact administrator.
Run Code Online (Sandbox Code Playgroud)

在Salvin Francis:

  1. 将myMessages.properties添加到WEB-INF/classes中的WAR文件中.
  2. 将此bean添加到spring上下文配置文件中

消息源Bean

<bean id="messageSource"   
    class="org.springframework.context.support.ResourceBundleMessageSource">  
    <property name="basenames">  
        <list>
            <value>myMessages</value>
        </list>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)