Назад | Перейти на главную страницу

getUserPrincipal () в настройке уровня аутентификации JCIFS / Lan-Manager в Windows 2k8

Мне нужно выяснить, в каком именно формате JCIFS хранит принципала пользователя в свойстве getUserPrincipal (). Поэтому я создал такую ​​тестовую среду:

Пользователь должен войти в веб-приложение с помощью SSO, поэтому мне нужен формат, который jcifs использует для хранения пользователя. (Например, пользователь @ MYDOMAIN или MYDOMAIN \ user ...)

Я протестировал аутентификацию с другими платформами единого входа с помощью метода Kerberos, и он работает, как ожидалось.

Теперь я пытаюсь использовать SSO через NTLMHttpFilter JCIFS. Когда я пытаюсь войти в систему, я получаю следующее сообщение об ошибке:

jcifs.smb.SmbException: The parameter is incorrect.
    jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:541)
    jcifs.smb.SmbTransport.send(SmbTransport.java:641)
    jcifs.smb.SmbSession.sessionSetup(SmbSession.java:322)
    jcifs.smb.SmbSession.send(SmbSession.java:224)
    jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
    jcifs.smb.SmbSession.logon(SmbSession.java:153)
    jcifs.smb.SmbSession.logon(SmbSession.java:146)
    jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:189)
    jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:121)

Что касается документации, которую я использую для настройки, это известная проблема с групповой политикой. Там сказано, что я должен изменить групповую политику «Доступ к сети: уровень аутентификации lan-manager», чтобы отвечать на запрос NTLMv1.

Я сделал это, но это все еще не работает. Так что мне также нужно настроить ту же политику на клиентском компьютере. Мне нужно изменить политику, чтобы клиентский компьютер отправлял NTLMv1. Но он всегда отправляет токены NTLMv2.

Проблема в том, что я почему-то не могу изменить этот параметр. (Я уже был раньше), потому что раскрывающийся список для выбора метода аутентификации «неактивен».

edit: чтобы прояснить это, этот диалог находится на стороне клиента в «политиках локальной безопасности»

Как видно из этого снимка экрана, выбран метод «Отправлять только ответы NTLMv2», что является неправильной настройкой, и я почти уверен, что это вызывает указанную выше ошибку.

У меня вопрос: почему я не могу изменить эту настройку? Почему он неактивен?

Это потому, что у вас есть групповая политика безопасности, управляющая этой функцией, поэтому вы не можете изменять ее локально. Запустите gpmc.msc вместо gpedit.msc, и вы сможете изменить его, если вы являетесь администратором.