Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Spring security ldap authentication example


Автор: hagerds 30.12.2014, 19:16
Всем привет!

Необходимо сделать доменную авторизацию, 
1) Для безопасности настроим Spring security
2) Необходимо прикрутить Spring ldap
3) В случаи не успешной авторизации, через ldap, делаем проверку по нашей БД.

- В интернете нашел хороший пример Spring security
1.1) http://www.mkyong.com/spring-security/spring-security-hello-world-example/
в котором указан тестовый пользователь "mkyong"
- Его можно легко заменить на обращение к бд, как в примере c hibernate-ом
3.2) http://www.mkyong.com/spring-security/spring-security-hibernate-xml-example/
С первым и третьим примером всё понятно!



В интернете устал искать куски кода, которые не правильно прикручиваю для пункта 2), т.к. это делаю первый раз!
Помогите пожалуйста найти пошаговую инструкцию:
4) Для запуска ldap сервера и создания тестового юзера "userTest".
5) Как правильно прикрутить Spring ldap к примеру 1.1 и попытаться авторизоваться через тестового пользователя  "userTest".

Заранее спасибо и большое просьба сильно не ругать=)

Автор: hagerds 13.1.2015, 14:44
Всё же есть такая статья в нете по вопросам 4) и 5)

http://krams915.blogspot.com/2011/01/spring-security-mvc-using-ldap.html 



Всем большое спасибо!

Автор: hagerds 13.1.2015, 17:23
Вот ещё вопрос!

- В последнем примере идёт обращение к страничке /krams/auth/login вводим данные и проверяем их на сервере Active Directory. Так же от Active Directory берём роль и сверяем её с ролью в приложении. Spring sequrity пускает на разные страницы.
 

- Я хочу при обращении к своему приложению ( из последнего примера, пусть будет путь /krams/auth ) брать учётные данные, учётку винды. И отправить её на сервер Active Directory!
6) Как можно передать учётные данные винды логин/пароль в Apache Directory Studio? Это вообще возможно? 
Мои предположения spring-sequrity.xml:
Код

                <security:form-login
                     login-page="/krams/auth/login"<!-- Тут надо указать путь "/krams/auth" и передать параметры из винды -->  
                     authentication-failure-url="/krams/auth/login?error=true" 
                     default-target-url="/krams/main/common"
                />


или 

Код

        <form-login
                ...
            username-parameter="username"
                password-parameter="password"
                >

    <security:authentication-manager>
            <security:ldap-authentication-provider  
                 user-search-filter="(uid=[U]Надо что-то поменять тут![/U])" 
                 user-search-base="ou=Internal staff"
                 group-search-filter="(uniqueMember={0})"
                 group-search-base="ou=groups"
                 group-role-attribute="cn"
                 role-prefix="ROLE_">
            </security:ldap-authentication-provider>
    </security:authentication-manager>



или

Код

                <security:form-login
                     login-page="/krams/auth/j_spring_security_check"<!-- Тут надо передавать post + j_username +  j_password. Как их передать? -->  
                     authentication-failure-url="/krams/auth/login?error=true" 
                     default-target-url="/krams/main/common"
                />

Мне кажется бредовые идеи, но ничего лучшего я не нашел=(

Подскажите с вопросом 6)?


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)