Play 2.0.4 プロジェクトに Play-Authenticate モジュールを統合しました。私のプロジェクトには、従来の Web ビューとモバイル ビューの 2 つのビューがあります。アプリケーションがログアウトすると、インデックス ページに戻ります。ルート テーブルでは、ログアウト機能が次の方向を指していることがわかります。
GET /logout com.feth.play.module.pa.controllers.Authenticate.logout
モジュールコードでは次のようになります。
public static Result logout() {
noCache(response());
return PlayAuthenticate.logout(session());
}
アプリケーションが動作する方法は、Web アプリケーションが必要とする css/js リンクを含む main.scala.html ファイルと、モバイル テンプレートのコンテンツが使用する 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();
}