Я использую play framework 2.8.x
, и я пытаюсь сохранить данные в сеансе и в следующем запросе прочитать эти данные, но мои данные не сохранены в объекте сеанса. Мой класс контроллера выглядит следующим образом:
public class UserController extends Controller {
public Result verifyToken(Http.Request request) {
final Http.Session session = request.session();
session.adding("key1", "my_value");
return ok(userInfo).withCookies(tokenCookie).withSession(session);
}
}
, затем я реорганизую свой код следующим образом:
public class UserController extends Controller {
public Result verifyToken(Http.Request request) {
return ok(userInfo).addingToSession(request, "sessionData", "test");
}
}
, но у меня тот же результат. Не работает! и затем я пытаюсь прочитать мои данные из сеанса в Filter
. Мой фильтр выглядит следующим образом:
public class PageAccessFilter extends Filter {
@Inject
public PageAccessFilter(Materializer mat) {
super(mat);
}
@Override
public CompletionStage<Result> apply(Function<Http.RequestHeader, CompletionStage<Result>> next, Http.RequestHeader rh) {
final Http.Session userSession = rh.session();
final String userToken = userSession.get("key1").orElse(null); // in this value was null.
return next(rh);
}
}
Как сохранить и прочитать данные из сеанса? Что я делаю не так?