【问题标题】:There is no PasswordEncoder mapped for the id "null" in DelegatingPasswordEncoderDelegatingPasswordEncoder 中没有为 id "null" 映射 PasswordEncoder
【发布时间】:2018-10-30 19:24:21
【问题描述】:

我是 Spring Security 的新手。使用 Spring 4.3 和 Spring Security 5.0。一切 运行。登录页面也来了。如果你给了错误的密码,它告诉你登录尝试不成功,再试一次。很好但正确的密码给它引发异常

我的 Spring_Security 。 XML 是

 <authentication-manager>  
      <authentication-provider>  
        <user-service>  
        <user name="admin" password="1234" authorities="ROLE_USER" />  
        </user-service>  
      </authentication-provider>  
    </authentication-manager> 

我的 Web.xml

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
        /WEB-INF/spring-security.xml,
         /WEB-INF/spring/appServlet/hibernate.xml
        </param-value>
    </context-param>



<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>




<filter>  
    <filter-name>springSecurityFilterChain</filter-name>  
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>springSecurityFilterChain</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>  





<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
        /WEB-INF/spring/appServlet/servlet-context.xml
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

我的控制器类

 @RequestMapping(value="/admin", method=RequestMethod.GET)  
        public String privateHome() {  

            return "privatePage";  
        }  


When Run the Code /admin page its default run log in page .Everything Fine 

.Once Right Credentials Given 我得到了没有映射的密码编码器 ID“空”

【问题讨论】:

标签: spring spring-mvc spring-boot spring-security spring-data


【解决方案1】:

您可以查找此问题的答案:Spring security : migrating 4.0 to 5.0 - Error -There is no PasswordEncoder mapped for the id “null”

但是,对于 Spring Security 5,正确的定义是:

<bean id ="passwordEncoder" class = "org.springframework.security.crypto.password.NoOpPasswordEncoder" factory-method = "getInstance" />

【讨论】:

    猜你喜欢
    • 2019-06-02
    • 2020-10-27
    • 2018-09-14
    • 2021-06-02
    • 2020-06-24
    • 2018-11-14
    • 2020-08-11
    • 2019-08-28
    相关资源
    最近更新 更多