jdbc-user-service добавляет поля в SQL - PullRequest
5 голосов
/ 16 ноября 2011

это похоже на мой предыдущий вопрос, но я искал, как это сделать

Текущий код в applicationContext-security.xml:

<authentication-manager alias="authenticationManager">
    <!-- DAO Based Security -->
    <authentication-provider>
        <password-encoder hash="sha-256" />
        <jdbc-user-service data-source-ref="dataSource"
            users-by-username-query="SELECT user_name AS username, user_password AS password, enabled FROM user where user_name=?"
            authorities-by-username-query="SELECT user_name as username, R.name as authority FROM user U, roles R WHERE U.roles = R.Id AND user_name=?"/>
    </authentication-provider>
</authentication-manager>

Что я хочу изменить:

<authentication-manager alias="authenticationManager">
    <!-- DAO Based Security -->
    <authentication-provider>
        <password-encoder hash="sha-256" />
        <jdbc-user-service data-source-ref="dataSource"
            users-by-username-query="SELECT user_name AS username, user_password AS password, id, location, userFirstName, userLastName, enabled FROM user where user_name=?"
            authorities-by-username-query="SELECT user_name as username, R.name as authority FROM user U, roles R WHERE U.roles = R.Id AND user_name=?"/>
    </authentication-provider>
</authentication-manager>

В основном я хочу получить еще 4 поля из базы данных

проблема, с которой я сталкиваюсь на данный момент, заключается в том, что я не знаю, что мне нужно делать, я пытался настроить userDetails и userDetailsService, но я не могу заставить его работать с использованием кода с этого сайта http://www.theserverside.com/tip/-Spring-Security-Customizing-Your-User-and-Authorization-in

1 Ответ

3 голосов
/ 24 ноября 2011

Вы не можете сделать это с оригинальным org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl (то есть класс jdbc-user-service).Вам нужно создать его подкласс или реализовать свой собственный UserDetailsService.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...