我已将Play-Authenticate模块集成到Play 2.0.4项目中。我的项目有两个视图,一个传统的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链接,以及一个mobile_main.scala.html页面,其中包含移动模板内容使用的css / js 。我遇到的问题是,当我退出应用程序(移动或网络)时,我会被重定向到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();
}
答案 0 :(得分:0)
其中一种方法是在会话中保存您的状态,例如,您可以有两种状态:mobile session
和web session
,然后在重定向之前验证此状态
if mobile session then redirect mobile index else redirect index