-
23-12-2019 - |
题
我正在使用用于授权。如果存在他(subjectPresent
),我需要重定向用户。例如,该控制器呈现注册页面:
public static Result signup() {
return ok(signup.render())
}
.
但如果用户已经存在(那么他已经注册)上面的控制器必须将他重定向到他的个人资料页面:return ok(profilePage.render())
解决方案
deadbolt不是真正的条件切换,但你可以以下面的方式破解:
- 创建另一个deadbolthandler,称为projectionpresenthandler
- 实现pomeconderpresentHandler#Onauthfailure方法以重定向到配置文件页面
-
用
注释您的注册方法@subjettnotpresent(handler= pomecentpresenthandler.class)
如果存在用户,则会导致授权失败。然后,这将调用poperectpresenthandler#Onauthfailure以获得结果。
但是,我个人会考虑沿着
的行中的注册方法中添加一个简单的测试public static Result signup() {
Result result;
User user = // however you normally get your user
if (user == null) {
result = ok(signup.render())
} else {
result = redirect(routes.<your profile view method>);
}
return result;
}
.不隶属于 StackOverflow