Я не смог найти ничего, что касалось бы того, чего я хочу достичь
У меня есть веб-система, использующая Spring Secuirty 3.1, которой необходимо связывать пользователей из Active Directory. Для своего разработчика я просто хранил их в файле spring -security.xml. Это было нормально, но для производства мне нужно связать пользователей из Active Directory. У меня это работает, поэтому я могу войти в систему и т. Д., Так что проблема не в этом. У меня проблема в том, что в моей локальной разработке у меня были пользователи и «группы», то есть ROLE_USER и ROLE_ADMIN.
В Active Directory этим именам соответствуют две группы. Мне нужно сделать URL-адрес перехвата на основе этих типов ролей, но я не знаю, как это сделать для активного каталога.
Это моя локальная версия для разработчиков, которая жестко кодирует пользователей в провайдере аутентификации. Это должен быть активный каталог:
<http auto-config="true" disable-url-rewriting="true">
<intercept-url pattern="/test/*" access="ROLE_USER, ROLE_ADMIN" />
<intercept-url pattern="/admin" access="ROLE_ADMIN" />
<intercept-url pattern="/list*" access="ROLE_USER, ROLE_ADMIN" />
<form-login login-page="/login"
default-target-url="/home"
authentication-failure-url="/loginfailed" />
<logout invalidate-session="true" logout-success-url="/logout" />
<session-management invalid-session-url="/login">
<concurrency-control max-sessions="1" error-if-maximum-exceeded="true"/>
</session-management>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="test" password="test" authorities="ROLE_USER" />
<user name="admin" password="admin" authorities="ROLE_ADMIN" />
</user-service>
</authentication-provider>
</authentication-manager>
НО, что мне нужно сделать, так это заменить его менеджером аутентификации на основе активного каталога.
<authentication-manager>
<authentication-provider ref="ldapActiveDirectoryAuthProvider"/>
</authentication-manager>
Я знаю, что пользователи находятся в этом каталоге для AD:
OU = Пользователи, OU = Z3, DC = i1, DC = z12, DC = r1, DC = net
и группы находятся в:
OU = группы, OU = Z3, DC = i1, DC = z12, DC = r1, DC = net
Ключевым атрибутом Active Directory, который используется для входа в систему, является SAM-Account-Name.
Пожалуйста помоги.
Взгляните на Справочник по безопасности Spring!