Здравствуйте, vzotov, Вы писали:
V>Здравствуйте, Аноним, Вы писали:
А>>Проблема в том, что это срабатывает только тогда, когда пользователь имеет право логиниться на сервер, на котором стоит мое приложение. Если таких прав у него нет (в Active Directory в поле Log On To только рабочий комп пользователя), то контроллер домена отпинывает.
V>SmbSession.logon пытается подключиться к контроллеру домена к шаре \\<domain controller>\IPC$, если конечно в настройках jcifs не прописана другая шара. В любом случае, попытка подключения будет именно к серверу контроллера домена. Проблема еще в том, что Windows не позволит несколько подключений с одной рабочей станции к другой под разными учетными записями, поэтому такая реализация будет пропускать только одного пользователя (http://support.microsoft.com/kb/938120). Следующий будет вынужден ждать, пока не отвалится сокет подключения к шаре.
Посмотрел в исходники, так и есть.
К контроллеру мы подключаемся потому, что доверять проверку кому-то другому неправильно, как мне кажется. А вот почему Windows проверяет права на логин именно к серверу приложения (не к контроллеру домена, это две разных машины)?
Вопрос на самом деле шире — привязана ли вообще NTLM-аутентификация к NetBIOS? Вроде как из схемы это совсем не следует.
Можно ли другие какие-то протоколы использовать? Даст ли это что-нибудь?
А>>Кто-нибудь сталкивался?
А>>Может быть можно аутентифицироваться не через jcifs (lmResponse и ntResponse у нас уже есть)?
V>Проблему решили, используя аутентификацию через Kerberos. Открытых реализаций не нашли, поэтому написали собственную.
Какая лицензия?

Если не секрет — каковы были трудозатраты?
С Керберос есть еше проблема, насколько я понимаю: он требует соотв. инфраструктуры — kdс там всякие.