Dam*_*ian 5 java login page-flow playframework
在我的游戏中!应用程序,我编写了控制器.安全性为
class Security extends controllers.Secure.Security {
...
static void onDisconnected() {
Application.index();
}
static void onAuthenticated() {
User user = User.find("byEmail",Security.connected()).first();
if(user.isAdmin()) {
Admin.index();
}else {
System.out.println("onAuthenticated()::user not admin");
}
}
Run Code Online (Sandbox Code Playgroud)
我已将路线设定为
GET /admin/? Admin.index
* /admin module:crud
GET / Application.index
Run Code Online (Sandbox Code Playgroud)
当我在页面上说pageX并点击登录链接时,会出现登录表单,我可以登录.如果我以管理员身份登录,则会转到Admin.index(),从而转到Admin/index.html view.So远非常好
但是,当我在pageX上,并点击登录链接时,我希望回到pageX.Instead,调用Application.index()方法,我被带到Application.index.html ..这是预期的行为?登录后我需要做什么才能到达pageX?
更新:
我尝试使用安全控制器中的@Before将URL存储在flash中
class Security extends controllers.Secure.Security {
@Before
static void storeCurrentUrl() {
System.out.println("storeCurrentUrl()");
flash.put("url", "GET".equals(request.method) ? request.url : "/");
}
static boolean authenticate(String username, String password) {
...
}
static void onAuthenticated() {
...
String url = flash.get("url");
System.out.println("url="+url);
if(!user.isAdmin()) {
if(url!=null) {
System.out.println("url not null");
redirect(url);
}else {
System.out.println("url null ..go to /");
redirect("/");
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我登录时,我得到这些终端输出
url=null
url null ..go to /
index()
Run Code Online (Sandbox Code Playgroud)
我已将登录/注销链接放在main.html模板中,该链接由所有其他页面继承
<div id="main">
<div class="auth">
<a href="@{Admin.index()}">Go to Admin Area</a><br/><br/>
<a href="@{Secure.login()}">Login</a><br/><br/>
<a href="@{Secure.logout()}">Log out</a>
</div>
Run Code Online (Sandbox Code Playgroud)
在您的控制器中,在调用'login()'之前将'url'放入flash中,如:
flash.put("url", "GET".equals(request.method) ? request.url : "/");
Run Code Online (Sandbox Code Playgroud)
成功登录后,获取"网址"并重定向.
String url = flash.get("url");
redirect(url); //you may redirect to "/" if url is null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4199 次 |
| 最近记录: |