Как я могу выйти / войти как другой пользователь из сервлета на gwt / gae - PullRequest
1 голос
/ 08 сентября 2011

Я тестирую свои сервлеты на основе Java / GWT / GAE. Один из моих сервлетов обращается к хранилищу данных (методы типа CRUD), который обычно вызывается из клиента через RPC.

Поток работает так: Я запускаю testServlet1. Если я не вошел в систему, он генерирует URL-адрес для входа и возвращает его пользователю. Я нажимаю на это. (теперь я вошел в систему.)

testServlet1 запускается, тестирует мой DAO и проверяет окончательное состояние базы данных.

testServlet2 теперь хочет добавить объекты в хранилище данных, используя другого вошедшего в систему пользователя, чтобы гарантировать отсутствие помех между user1 и user2.

У меня вопрос: как программно «переключить» вошедших в систему пользователей из сервлета, не щелкая вручную ссылки выхода из системы / входа в систему или не автоматизируя это на стороне клиента?

Кажется, для этого нет API.

Кто-нибудь делает это?

Спасибо Rob

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Учитывая, что, по-видимому, не существует API специально для этого, я просто вызываю URL для входа и выхода из системы, предоставляемые gae непосредственно из моего сервлета.

1 голос
/ 08 сентября 2011

Каждый запрос должен выполнять свою собственную аутентификацию. Вы можете добиться этого красиво с фильтрами . По сути, они перехватывают каждый запрос и могут выполнять произвольные вычисления перед передачей запроса в конечном итоге сервлету. Вы можете создать фильтр, который скажет: «если пользователь не вошел в систему, вернитесь к экрану входа; в противном случае перейдите к сервлету, как предполагалось, с зарегистрированным пользователем в качестве параметра».

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