Java Spring security_密码加密

Java Spring security_密码加密,java,mysql,spring,spring-mvc,spring-security,Java,Mysql,Spring,Spring Mvc,Spring Security,使用SpringSecurity登录对于多个用户来说效果良好。 现在我必须使用密码登录到应用程序,密码应该在数据库中加密 HomeController:我正在从表单中检索用户名和密码 spring security.xml:我在这里从数据库中检索用户名和密码 现在,我必须在某个地方比较这些密码以进行匹配,然后我必须让人登录 请给我一个想法,我们如何使用spring security来实现这一点 我相信在使用Spring Security时,您不会进行凭证匹配。这是您配置的Authenticati

使用SpringSecurity登录对于多个用户来说效果良好。 现在我必须使用密码登录到应用程序,密码应该在数据库中加密

HomeController:我正在从表单中检索用户名和密码

spring security.xml:我在这里从数据库中检索用户名和密码

现在,我必须在某个地方比较这些密码以进行匹配,然后我必须让人登录


请给我一个想法,我们如何使用spring security来实现这一点

我相信在使用Spring Security时,您不会进行凭证匹配。这是您配置的AuthenticationManager的责任

您可以在匹配凭据时指定要使用的编码器,如:-

<!-- This is the authentication manager -->
<authentication-manager>
   <authentication-provider user-service-ref="yourUserService">
    <password-encoder hash="sha"/>
   </authentication-provider>
</authentication-manager>

扰流板

如果您使用的是Spring安全性,则不需要控制器来收集用户凭据。Spring安全过滤器负责这一点

例如:-

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:security="http://www.springframework.org/schema/security"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/security
                           http://www.springframework.org/schema/security/spring-security-3.2.xsd">

    <security:global-method-security secured-annotations="enabled" />

    <security:http auto-config="true">
        <!-- Restrict URLs based on role -->
        <security:intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
        <security:intercept-url pattern="/logoutSuccess*" access="IS_AUTHENTICATED_ANONYMOUSLY" />

        <security:intercept-url pattern="/css/main.css" access="IS_AUTHENTICATED_ANONYMOUSLY" />
        <security:intercept-url pattern="/resources/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />

        <security:intercept-url pattern="/**" access="ROLE_USER" />

        <!-- Override default login and logout pages -->
        <security:form-login login-page="/login.html" // this is where your custome login page lives.
                             login-processing-url="/loginProcess"  //this is where you POST your login form
                             default-target-url="/index.jsp" 
                             authentication-failure-url="/login.html?login_error=1" />
        <security:logout logout-url="/logout" logout-success-url="/logoutSuccess.html" />
    </security:http>

    <security:authentication-manager>
        <security:authentication-provider >
            <security:jdbc-user-service data-source-ref="dataSource" />
        </security:authentication-provider>
    </security:authentication-manager>

</beans>

我建议你阅读参考文档和简单的博客/教程(有很多)

更重要的是,试一试