Play-Authenticate перенаправление выхода
Я интегрировал модуль Play-Authenticate в свой проект Play 2.0.4. В моем проекте есть два вида: обычный веб-просмотр и мобильный просмотр. Когда приложение выходит из системы, оно просто возвращается на страницу индекса. В таблице маршрутов я вижу, что функциональность выхода из системы указывает на это:
GET /logout com.feth.play.module.pa.controllers.Authenticate.logout
Который выглядит так в коде модуля:
public static Result logout() {
noCache(response());
return PlayAuthenticate.logout(session());
}
Приложение работает так: есть файл main.scala.html со ссылками на css/js, который необходим веб-приложению, и страница mobile_main.scala.html с ссылками на css/js, которую использует содержимое мобильных шаблонов. Проблема, с которой я сталкиваюсь, заключается в том, что при выходе из приложения (мобильного или через Интернет) меня перенаправляют на индекс веб-приложения - index.scala.html. Можно ли как-то изменить это, чтобы при необходимости меня можно было перенаправить на страницу мобильного индекса?
Спасибо
Изменить: Это также относится к странице, на которую приложение возвращается после успешного входа в систему.
Хорошо, посмотрев немного дальше, я проследил проблему до Global.java. Я думаю, что мне нужно изменить методы ниже, чтобы решить мою проблему. Так что я могу загрузить другую страницу в зависимости от переданного аргумента.
@Override
public Call login() {
// Your login page
return routes.Application.login();
}
@Override
public Call afterAuth() {
// The user will be redirected to this page after authentication
// if no original URL was saved
return routes.Application.index();
}
@Override
public Call afterLogout() {
return routes.Application.index();
}
1 ответ
Одним из способов является сохранение вашего состояния в сеансе, например, вы можете иметь два состояния: mobile session
а также web session
а затем проверить это в состоянии перед перенаправлением
if mobile session then redirect mobile index else redirect index