Прочитать имя пользователя / пароль из файла в Spring Security - PullRequest
0 голосов
/ 14 марта 2019
<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/security
    http://www.springframework.org/schema/security/spring-security-3.2.xsd">

    <http use-expressions="true" auto-config="true">
        <intercept-url pattern="/login**" access="permitAll"/>
        <intercept-url pattern="/resources/**" access="permitAll"/>
        <intercept-url pattern="/favicon.ico" access="permitAll"/>
        <intercept-url pattern="/**" access="hasRole('ROLE_USER')" />

        <form-login 
            login-page="/login" 
            default-target-url="/" 
            always-use-default-target="true" 
            authentication-failure-url="/login?error=" 
            username-parameter="username"
            password-parameter="password" />
        <logout invalidate-session="true" logout-success-url="/login?logout="  />
        <!-- enable csrf protection -->
        <!-- <csrf/> -->
    </http>

    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="soguha9@gmail.com" password= "soham123" authorities="ROLE_USER"/>
            </user-service>
        </authentication-provider>
    </authentication-manager>

</beans:beans>

Я хочу добавить имя пользователя и пароль в отдельном файле.

Ответы [ 3 ]

0 голосов
/ 14 марта 2019
<authentication-manager>
    <authentication-provider user-service-ref="userServiceBean">        
    </authentication-provider>
</authentication-manager>

У вас может быть пользовательский сервис, который может читать данные пользователя из файла свойств.

0 голосов
/ 14 марта 2019

Как объяснено в Справочное руководство по безопасности Spring , вы можете указать user-service на файл свойств, который содержит необходимую информацию.

Создайте файл свойств users.properties в src/main/resources.

soguha9@gmail.com=soham123,ROLE_USER,enabled

Затем укажите user-service на этот файл

<user-service properties="classpath:users.properties" />
0 голосов
/ 14 марта 2019

Вы можете использовать:

 <context:property-placeholder location="classpath:myapp.properties" />

Добавьте файл свойств в папку ресурсов, убедитесь, что он содержит ваши свойства

myapplication.username=soguha9@gmail.com
myapplication.password=soham
myapplication.authorities=ROLE_USER

Тогда используйте в вашем пользовательском сервисе свойства как таковые:

 <property name="username" value="${myapplication.username}" />
 <property name="password" value="${myapplication.password}" />
 <property name="authorities" value="${myapplication.authorities}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...