我想通過cookie管理我的用戶。這並不容易,因爲這個主題絕對沒有文檔。Java Play! 2 - 用戶管理與餅乾
隨着樣本的幫助 「zentask」 我做了這個:
session("username", filledForm.field("username").value());
public class Secured{
public static Session getSession() {
return Context.current().session();
}
public static String getUsername() {
return getSession().get("username");
}
public static boolean isAuthorized() throws Exception {
String username = getUsername();
if (username == null)
return false;
long userCount = DatabaseConnect.getInstance().getDatastore()
.createQuery(User.class).field("username").equal(username)
.countAll();
if (userCount == 1)
return true;
return false;
}
我使用它是這樣的:
public static Result blank() throws Exception {
if (Secured.isAuthorized())
return ok(Secured.getUsername());
else
return ok(views.html.login.form.render(loginForm));
}
現在我有幾個問題/問題:
1.)Cookie不是deidypted,總是看起來一樣。例如bdb7f592f9d54837995f816498c0474031d44c1a-username%3Akantaki
2.)Security.Authenticator類是做什麼的?
3.)我認爲通過cookies進行用戶管理是一個非常普遍的問題,玩!2.0爲我提供了一個完整的解決方案嗎?或者至少有一些文檔?
這看起來很神奇,謝謝! – 2012-08-05 13:39:53
只是好奇,你能給我一個非常簡短的概述,我需要改變,以使它適用於Mongodb?我想我將不得不刪除每個SQL方法,如 - play.find等,並用嗎啡取而代之?我只是問,因爲我需要改變很多。不想在開始時犯一個大錯誤 – 2012-08-05 14:55:14
對不起,主題'MongoDB'和'Morphia'我不能幫你。我認爲開始一個新問題是最好的想法,正確地解決它的範圍。 – biesior 2012-08-05 15:12:50