這是一個從Java Play! 2 - User management with cookiesJava Play! 2 - 認證沒有意義
從zentask例如
public class Secured extends Security.Authenticator {
@Override
public String getUsername(Context ctx) {
return ctx.session().get("email");
}
@Override
public Result onUnauthorized(Context ctx) {
return redirect(routes.Application.login());
}
// Access rights
public static boolean isMemberOf(Long project) {
return Project.isMember(
project,
Context.current().request().username()
);
}
public static boolean isOwnerOf(Long task) {
return Task.isOwner(
task,
Context.current().request().username()
);
}
}
對我來說,這並沒有真正有意義跟進。
用戶獲得以下cookie。例如「[email protected]」
如果我去「安全」頁面,zentask只檢查電子郵件是否不爲空。這怎麼可能安全?
會話的原因是從db獲取負載。但採用這種方法,他必須不斷檢查用戶是否有權訪問受保護的頁面。
對我來說這並不合理。爲什麼有一個函數getUsername?爲什麼返回類型是一個字符串?
我想要做財產以後這樣的:在
用戶登錄,並得到一個cookie看起來財產以後這樣的「價值= randomString」
安全高速緩存中的例如用戶對象
Cache.set(randomstring,userObject);
現在,如果訪問者回來,我檢查他的randomstring是否在我的緩存中,如果是,請檢查現金中的用戶對象是否有權訪問受保護的頁面。
我能夠實現這一點,只是沒有@ Security.Authenticated()註釋。
是否有可能通過此註釋實現此目的?