S
SergeyProtopopov
Здравствуйте Уважаемые посетители форума.
У меня возник вопрос, который не могу решить уже в течение достаточно долгого времени - требуется реализовать прозрачную аутентификацию(информация из учетной записи AD) с использованием kerberos c jboss.
Существует сервер, который крутится на jboss (в тестовом варианте представляет из себя одну простую страничкку jsp), также настроена AD.
Тестовое окружение:
2 машины с OS win 2003
браузер ie7
сервер и клиент находится на разных машинах в рамках одного домена
Произведены настройки согласно:
Настроены SPN:
C:\>setspn -L <имя машины в AD>
Registered ServicePrincipalNames for CN=<имя машины в AD>,CN=Computers,DC=<имя хоста>:
host/<имя машины в AD>.<имя хоста>
host/<имя машины в AD>
HTTP/<имя машины в AD>.<имя хоста>
HTTP/<имя машины в AD>
Сделано сейчас:
В настоящий момент получилось настроить аутентификацию таким образом, что при открытии странички (http://<имя хоста>:<port>/<context>) появляется окошко ввода логин-пароль; вход на страничку разрешается, если логин и пароль совпадают с одной из учетных записей в AD.
При этом в логе jboss отображается:
17:25:45,640 ERROR [STDERR] 24.06.2010 17:25:45 net.sourceforge.spnego.SpnegoPro
vider negotiate
WARNING: Downgrade NTLM request to Basic Auth.
Необходимо:
Мне необходима прозрачная аутентификация, при которой не придется вводить логин и пароль каждый раз, данные должны извлекаться из AD.
Я предположил, что все дело в том, что тип запроса basic, поэтому я попытался отключить basic аутентификацию:
<init-param>
<param-name>spnego.allow.basic</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>spnego.prompt.ntlm</param-name>
<param-value>false</param-value>
</init-param>
Но в логе jboss появились ошибки:
18:08:09,031 ERROR [STDERR] 24.06.2010 18:08:09 net.sourceforge.spnego.SpnegoPro
vider negotiate
WARNING: Downgrade NTLM request to Basic Auth.
18:08:09,031 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.UnsupportedOperationException: NTLM specified. Downgraded to Basic Aut
h (and/or SSL) but downgrade not supported.
at net.sourceforge.spnego.SpnegoProvider.negotiate(SpnegoProvider.java:1
46)
at net.sourceforge.spnego.SpnegoAuthenticator.authenticate(SpnegoAuthent
icator.java:198)
По всей веротности jboss пытается авторизовать при помощи basic аутентификации (которую я отключил).
(но как я понял, мне необходима negotiation аутентификация)
поэтому прошу помощи, каким образом мне действовать дальше, чтобы настроить прозрачную аутентификацию с IE 7, или банально "куда копать дальше".
У меня возник вопрос, который не могу решить уже в течение достаточно долгого времени - требуется реализовать прозрачную аутентификацию(информация из учетной записи AD) с использованием kerberos c jboss.
Существует сервер, который крутится на jboss (в тестовом варианте представляет из себя одну простую страничкку jsp), также настроена AD.
Тестовое окружение:
2 машины с OS win 2003
браузер ie7
сервер и клиент находится на разных машинах в рамках одного домена
Произведены настройки согласно:
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Настроены SPN:
C:\>setspn -L <имя машины в AD>
Registered ServicePrincipalNames for CN=<имя машины в AD>,CN=Computers,DC=<имя хоста>:
host/<имя машины в AD>.<имя хоста>
host/<имя машины в AD>
HTTP/<имя машины в AD>.<имя хоста>
HTTP/<имя машины в AD>
Сделано сейчас:
В настоящий момент получилось настроить аутентификацию таким образом, что при открытии странички (http://<имя хоста>:<port>/<context>) появляется окошко ввода логин-пароль; вход на страничку разрешается, если логин и пароль совпадают с одной из учетных записей в AD.
При этом в логе jboss отображается:
17:25:45,640 ERROR [STDERR] 24.06.2010 17:25:45 net.sourceforge.spnego.SpnegoPro
vider negotiate
WARNING: Downgrade NTLM request to Basic Auth.
Необходимо:
Мне необходима прозрачная аутентификация, при которой не придется вводить логин и пароль каждый раз, данные должны извлекаться из AD.
Я предположил, что все дело в том, что тип запроса basic, поэтому я попытался отключить basic аутентификацию:
<init-param>
<param-name>spnego.allow.basic</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>spnego.prompt.ntlm</param-name>
<param-value>false</param-value>
</init-param>
Но в логе jboss появились ошибки:
18:08:09,031 ERROR [STDERR] 24.06.2010 18:08:09 net.sourceforge.spnego.SpnegoPro
vider negotiate
WARNING: Downgrade NTLM request to Basic Auth.
18:08:09,031 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.UnsupportedOperationException: NTLM specified. Downgraded to Basic Aut
h (and/or SSL) but downgrade not supported.
at net.sourceforge.spnego.SpnegoProvider.negotiate(SpnegoProvider.java:1
46)
at net.sourceforge.spnego.SpnegoAuthenticator.authenticate(SpnegoAuthent
icator.java:198)
По всей веротности jboss пытается авторизовать при помощи basic аутентификации (которую я отключил).
(но как я понял, мне необходима negotiation аутентификация)
поэтому прошу помощи, каким образом мне действовать дальше, чтобы настроить прозрачную аутентификацию с IE 7, или банально "куда копать дальше".