Я использую Vert.x для серверной части и AngularJS для внешнего интерфейса.
Сервер Vert.x получает действия HTTP, используя методы POST и GET. Каким-то образом я получаю разные идентификаторы сеанса для каждого запроса.
Ниже приведен фрагмент кода из моей процедуры обработки класса LoginFormHandler.
authProvider.authenticate(authInfo, res -> {
if (res.succeeded()) {
Session session = context.session();
io.vertx.ext.auth.User user = res.result();
session.put("user", user);
req.response().setStatusCode(204).end("user Login success");
//...
}
//...
}
Я помещаю пользовательский объект в текущий сеанс. Затем я перехожу на новую страницу и отправляю запрос POST на сервер Vert.x. Внутри этого обработчика POST я пытаюсь получить объект сеанса:
Session session = context.session();
io.vertx.ext.auth.User user = session.get("user");
Я не получаю пользователя. Также, когда я печатаю идентификатор сеанса, я получаю разные значения для обоих сеансов.
У меня есть следующий код в процедуре запуска для потока.
router.route().handler(CookieHandler.create());
router.route().handler(
SessionHandler.create(LocalSessionStore.create(vertx)));
AuthProvider ap = new MyAuthProvier();
router.route().handler(UserSessionHandler.create(ap));
AuthHandler basicAuthHandler = BasicAuthHandler.create(ap);
router.route("/Services/rest/user/auth").handler(MyFormLoginHandler.create(ap));
router.route("/Services/*").handler(basicAuthHandler);
null
? - person tmarwen   schedule 17.08.2015