zoukankan      html  css  js  c++  java
  • spring boot中实现security错误信息本地化

    一.修改messages.properties

    找源码中的messages.properties,复制一份放在classpath下,修改你要修改的内容 

    AbstractUserDetailsAuthenticationProvider.badCredentials=用户名或者密码错误

    二.配置messages.properties路径

    在启动类Application中添加

    我的messages.properties就在Resources目录下.

    不能在WebSecurityConfigurerAdapter的配置类中添加,会报错

    java.lang.IllegalStateException: No ServletContext set

    不知道为什么,这个@Bean不是只是个全局的Bean定义吗?

    路过的大佬如果知道原因,烦请指导一下.

    @Bean
    	public MessageSource messageSource() {
    		ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
            messageSource.addBasenames("classpath:messages");
    		return messageSource;
    	}
    

     

    三.继承AbstractUserDetailsAuthenticationProvider

    因为用户名不存在和密码错误都是AbstractUserDetailsAuthenticationProvider.badCredentials

    在authenticate中验证用户名是否存在

    在additionalAuthenticationChecks验证密码

    具体实现看源码,基本只需要改成自己的message code就好了.

  • 相关阅读:
    数据结构问题集锦
    大作业 开源项目列表
    数据结构问题集锦
    leetcode174
    leetcode152
    经典算法之KMP
    给出一个字符串,将其每一个字符表示成16进制表示,要求每个十六进制为8位数
    作业
    ASP 作业题
    ASP.NET 作业题
  • 原文地址:https://www.cnblogs.com/ptqueen/p/8418902.html
Copyright © 2011-2022 走看看