我在我的 Play 2.0.4 项目中集成了 Play-Authenticate 模块。我的项目有两个视图,一个传统的 Web 视图和一个移动视图。当应用程序注销时,它只是返回到索引页面。在路由表中,我看到注销功能指向此:
GET /logout com.feth.play.module.pa.controllers.Authenticate.logout
在模块代码中看起来像这样:
public static Result logout() {
noCache(response());
return PlayAuthenticate.logout(session());
}
应用程序的工作方式是有一个 main.scala.html 文件,其中包含 Web 应用程序所需的 css/js 链接,以及一个带有移动模板内容使用的 css/js 的 mobile_main.scala.html 页面。我遇到的问题是,当我退出应用程序(移动设备或 Web)时,我被重定向到 Web 应用程序的索引 - 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();
}