Аутентификация пользователя Java EE и GWT - PullRequest
3 голосов
/ 17 февраля 2010

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

У меня есть код для добавления пользователя и сохранения его имени пользователя и пароля (хешируется с помощью jBCrypt ). У меня также есть RPC, который принимает имя пользователя и пароль и может подтвердить правильность пароля.

Моя проблема с проверкой сеанса. Я могу получить JSESSIONID, но это та часть, где я заблудился. Как связать идентификатор пользователя с этим сеансом и как проверить, что он все еще действителен?

Я знаю, что Glassfish может управлять сессией, пользователями и ролями для меня, но я не знаю, как сделать так, чтобы это гладко работало с GWT. Есть ли примеры с GWT и аутентификацией пользователей в среде Java EE? Я часами гуглял и ничего не придумал.

1 Ответ

2 голосов
/ 18 февраля 2010

Ваш вопрос немного сбивает с толку, так как у меня сложилось впечатление, что вы движетесь в двух направлениях одновременно: -).

Если вы хотите использовать аутентификацию Java EE, вам нужно будет использовать несколько простых HTML-страниц, которые вы можете настроить в файле web.xml. Используя RequestBuilder, вы можете фактически взаимодействовать с этими страницами из кода GWT (как мы).

Если вы хотите узнать больше о пользователе, который проходит проверку подлинности, используйте объект Principal, поставляемый с HttpServletRequest. Основной объект имеет атрибут name.

Использование аутентификации Java EE очень ограничивает, поэтому в большинстве случаев вместо этого мы склонны реализовывать нашу собственную.

...