Я пытаюсь управлять своим пользователем через файл cookie. Это не так просто, потому что нет абсолютно никакой документации по этой теме.
С помощью образца "зентаск" я сделал это:
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 не расшифровывается и всегда выглядит одинаково. например, bdb7f592f9d54837995f816498c0474031d44c1a -имя пользователя% 3Akantaki
2. )Что делает класс Security.Authenticator?
3. )Я думаю, что управление пользователями с помощью файлов cookie является очень распространенной проблемой. Предлагает ли play! 2.0 полное решение? Или есть хоть какая-то документация?