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就好了.

  • 相关阅读:
    数据库范式
    SQL基础
    JAVA流
    response.getWriter()和jsp中的out对象的区别
    JAVA排序(冒泡,直接选择,反转)
    Collections类常用方法
    JAVA集合
    JAVA面向对象(重载,重写 常用的 toString/equals)
    Java面向对象一(封装 继承 多态 类 对象 方法)
    JAVA基础
  • 原文地址:https://www.cnblogs.com/ptqueen/p/8418902.html
Copyright © 2011-2022 走看看