powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JNDI + Active Directory
25 сообщений из 39, страница 1 из 2
JNDI + Active Directory
    #39685967
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто успешно реализовал авторизацию через AD в веб проекте на яве?

прописал соединение к LDAP в server.xml томката, прописал группы в web.xml проекта. Проект запустился, но никакой авторизации почему-то не появилось. Дальше то как эту авторизацию вызывать и куда складывать полученные токены?
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686023
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,
- в web.xml security-constraint какие то прописали? Иначе, если используете Spring, то подключать Spring Security.
JNDI в названии темы не при делах.
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686066
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovKorcar,
- в web.xml security-constraint какие то прописали? Иначе, если используете Spring, то подключать Spring Security.
JNDI в названии темы не при делах.
jndi - имел в виду, что для подключения в ldap используются настройки, прописанные на сервере в server.xml, а не строится дерево объектов прям в коде

Спринг не использую

в web.xml прописано
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<security-constraint>
   <display-name>Левое имя</display-name>
   <web-resource-collection>
     <web-resource-name>еще одно левое имя</web-resource-name>
     <url-pattern>*.jsp</url-pattern>
     <url-pattern>*.html</url-pattern>
     <url-pattern>*.xml</url-pattern>
     <http-method>GET</http-method>
     <http-method>POST</http-method>
   </web-resource-collection>
   <auth-constraint>
     <role-name>тут роль АДа</role-name>
   </auth-constraint>
 </security-constraint>
 <login-config>
   <auth-method>CLIENT-CERT</auth-method>

 </login-config>
</security-constraint> 


что с этими настройками, что без ничего нового не происходит. всё запускается. ошибок нет, но и запускает на любую страничку
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686106
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,

выкинуть это:
Код: xml
1.
2.
3.
<login-config>
   <auth-method>CLIENT-CERT</auth-method>
 </login-config>



вставить это:
Код: xml
1.
2.
3.
<auth-constraint>
   <role-name>MyLdapRole</role-name>
</auth-constraint>
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686108
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov,

пр
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686112
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,

пригляделся, web.xml какой то левый - два раза </security-constraint> - так вообще запускаться не должно
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686180
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov, копипаст. в проекте дубля нет. но всё равно домен отключили. до понедельника не проверю. спасибо за советы
Код: xml
1.
2.
3.
<auth-constraint>
   <role-name>MyLdapRole</role-name>
</auth-constraint>


уже под конец добавил, но логин конфиг не убирал. попробую ещё на днях
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686654
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov, выкинул, вставил. не помогло
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686663
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в примерах на оракле пишут про такую конструкцию
Код: xml
1.
2.
3.
    <security-role>
        <role-name>manager</role-name>
    </security-role>


она расположена вне <security-constraint>, но когда выношу её за пределы <security-constraint> сразу же получаю ошибку "the markup in the document following the root element must be well-format"
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686680
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с велл формат проблема решена. не было тэга web-app.

теперь он есть и проект вообще не запускается с ошибкой "Failed to retrieve JNDI naming context for container so no cleanup was performes for that container javax.naming.NamingException:No naming context bound to this class loader"
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686685
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тээкс, идём дальше. ошибка была из-за конструкции
Код: xml
1.
<url-pattern>/*.jsp</url-pattern>


оказывается слэш не нужен

теперь другая проблема. окно для ввода логина и пароля не появляется, сразу пишет ошибку 403 типа доступ запрещён
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686687
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавил
Код: xml
1.
2.
3.
<login-config>
<auth-method>BASIC</auth-method>
</login-config>


теперь окно для ввода логина/пароля запрашивает, но не пропускает. всё равно ошибка 403 закрыт доступ
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686700
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcarтеперь другая проблема. окно для ввода логина и пароля не появляется, сразу пишет ошибку 403 типа доступ запрещён
- и это правильное поведение, если при аутентификации в ОС пользователь не аутентифицирован в AD (и если Tomcat действительно соединился с AD и произвел проверку пользователя).
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686743
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovKorcarтеперь другая проблема. окно для ввода логина и пароля не появляется, сразу пишет ошибку 403 типа доступ запрещён
- и это правильное поведение, если при аутентификации в ОС пользователь не аутентифицирован в AD (и если Tomcat действительно соединился с AD и произвел проверку пользователя).
да. там не был указан тип авторизации. теперь указан, но не пропускает
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686766
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,
Компьютер, свойства - поле Домен заполнено?
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39686787
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Korcar,
Компьютер, свойства - поле Домен заполнено?
ага) Отправляю логин пароль для авторизации через request.login(). Ошибок нет, получаю списки всех групп пользователя через request.getUserPrincipal(). Группы там те, что надо, но пытаюсь проверить вхождение пользователя в одну из этих групп request.idUserRole() - выдает false.
фиг знает почему
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687194
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может имя доменной группы надо указывать со слэшем в web.xml?
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687216
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
слэши ожидаемо не помогли

при авторизации через Active Directory обязательно роли прописывать в tomcat-users.xml?
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687227
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,
Пример хоть один в сети искал?
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687231
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Korcar,
Пример хоть один в сети искал?
нашел целую кучу, правда про доменную авторизацию маловато. поэтому и спрашиваю)
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687233
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KorcarPetro123Korcar,
Пример хоть один в сети искал?
нашел целую кучу, правда про доменную авторизацию маловато. поэтому и спрашиваю)маловато, т.е. все нерабочие?
Поэтому и спрашиваю)
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687235
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с шаблонами, разграничивающие доступ проблем нет (url-pattern). имя залогиненного пользователя тоже читается из риквеста. вопрос в том, почему проект не видит доменных групп?

точнее он их видит и через
Код: java
1.
request.getUserPrincipal()

выводит все группы, в которые залогиненный пользователь включен (выводит со всеми OU/CN/DC), но вот
Код: java
1.
request.IsUserInRole("любая роль")


всегда выводит false

ну и через шаблоны, прописанные в web.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>ролька</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</security-constraint>

<security-role>
<role-name>ролька</role-name>
</security-role>


тоже роли не работают. фиг знает почему
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687254
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Korcarпропущено...

нашел целую кучу, правда про доменную авторизацию маловато. поэтому и спрашиваю)маловато, т.е. все нерабочие?
Поэтому и спрашиваю)
примеров web.xml - кучу. примеров server.xml - только на сайте апача. вроде все сделано, как там и указано, и работает, но не совсем так как надо
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687320
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcarпри авторизации через Active Directory обязательно роли прописывать в tomcat-users.xml?
- конечно нет, это альтернативный Realm - UserDatabaseRealm или MemoryRealm. Эти роли в Вашем случае не должны использоваться. Может в этом и проблема - одновременно используется несколько разных Realm (в разных областях видимости Engine/Host/Context)?
...
Рейтинг: 0 / 0
JNDI + Active Directory
    #39687353
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovKorcarпри авторизации через Active Directory обязательно роли прописывать в tomcat-users.xml?
- конечно нет, это альтернативный Realm - UserDatabaseRealm или MemoryRealm. Эти роли в Вашем случае не должны использоваться. Может в этом и проблема - одновременно используется несколько разных Realm (в разных областях видимости Engine/Host/Context)?
добавлял локальные роли только после невозможности достучаться до доменных групп. уже убрал. в server.xml только подключение к домену. подключение проходит успешно, судя по тому, что список всех групп пользователя можно просмотреть через request.getUserPrincipal() после его логона
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / JNDI + Active Directory
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]