Интегрированный вход в Exchange с GWT на Tomcat - PullRequest
3 голосов
/ 28 ноября 2011

У меня есть приложение GWT для развертывания в Tomcat на сервере Windows со следующими требованиями:

1 - приложение должно работать полностью, независимо от того, находится пользователь в домене Windows или нет;

2- Если пользователь находится в домене , приложение должно каким-то образом идентифицировать пользователя. Предположительно, это должно быть через getThreadLocalRequest (). GetRemoteUser (), но любая другая альтернатива подойдет ...

3- Если пользователь находится в домене , приложение должно иметь возможность доступа к серверу MS Exchange в этом домене, не требуя от пользователя ввода его пароля.

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

Может быть, мое ограниченное понимание заставляет меня терпеть неудачу в некотором смысле, но я пытался взглянуть на JCIFS, Jespa, Waffle и SPNEGO, и я просто не могу работать так, как хочу ... .

Любая помощь будет принята с благодарностью.

Приветствия
J.

Ответы [ 2 ]

1 голос
/ 16 сентября 2012

Как насчет размещения Javascript на первой странице и защищенной страницы Kerberos / SPNEGO.Javascript будет пытаться запросить защищенную страницу, если пользователь находится в домене, вы получите правильный результат со страницы, в противном случае вы получите 401 доступ запрещен.В первом случае вы можете перенаправить ваш браузер на страницу обмена или сделать еще один вызов AJAX для получения данных с сервера обмена, а в последнем случае вы либо показываете форму входа или общую анонимную страницу.

0 голосов
/ 15 сентября 2012

Как насчет использования JNI для вызова функции Win32Api LogonUser? Выполнив олицетворение на уровне потока, вы добавите токен NTLM в текущий поток и сможете без проблем вызывать exchange

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...