播放 - 验证注销重定向

时间:2013-04-27 15:58:51

标签: playframework play-authenticate

我已将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();
        }

1 个答案:

答案 0 :(得分:0)

其中一种方法是在会话中保存您的状态,例如,您可以有两种状态:mobile sessionweb session,然后在重定向之前验证此状态

if mobile session then redirect mobile index else redirect index