如何将用户名/密码移出spring-security-context.xml?

Bhu*_*han 8 spring spring-mvc spring-security

我在我的一个项目中使用Spring Security.网络应用程序要求用户登录.因此,我在spring-security-context.xml文件中添加了一些用户名和密码,如下所示:

<authentication-manager>
    <authentication-provider>
        <user-service>
            <user name="user_1" password="password_1" authorities="ROLE_USER" />
            <user name="user_2" password="password_2" authorities="ROLE_USER" />
        </user-service>
    </authentication-provider>
</authentication-manager>
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何将这些用户名 - 密码对移动到不同的文件(如某些属性文件),而不是将它们保存在spring-security-context.xml中?以及如何读取该文件属性文件?

小智 15

您可以将用户名和密码存储在单独的.properties文件中.

<user-service id="userDetailsService" properties="users.properties"/> 
Run Code Online (Sandbox Code Playgroud)

users.properties应具有以下格式:

jimi=jimispassword,ROLE_USER,ROLE_ADMIN,enabled
bob=bobspassword,ROLE_USER,enabled
Run Code Online (Sandbox Code Playgroud)

如果你想将它存储在数据库中,我建议你阅读这篇文章:http://www.mkyong.com/spring-security/spring-security-form-login-using-database/

参考:Spring Security内存中认证


duf*_*ymo 1

您可以找到一种方法将它们移至数据库或 LDAP。Spring Security 肯定支持两者。