Файлы cookie сервлета работают в приложении почтальона windows, но не в расширении chrome и не в расширении почтальона chrome - PullRequest
0 голосов
/ 29 февраля 2020

Итак, я работаю с Angular, Java сервлетом и postgresql, пытаясь создать небольшую систему входа в систему. Я хотел бы использовать cook ie для хранения имени пользователя и пароля пользователя.

        String username = request.getParameter("name");
        String password = request.getParameter("password");

        if(LoginInfoDAO.verifyuser(username, password)){
        String.valueOf(UserDAO.getUserByUsername(username).getUser_id()));
            Cookie c1 = new Cookie("userid",String.valueOf(UserDAO.getUserByUsername(username).getUser_id()));
            c1.setMaxAge(20);
            c1.setPath("/");
            c1.setDomain("localhost");
            response.addCookie(c1);
            PrintWriter out = response.getWriter();
            out.print(UserService.getUserJson(username));
        }
        else {
            response.setStatus(404);
        }

Мне удалось добавить повара ie и извлечь сохраненные данные из другого сервлета в приложении windows почтальона, но не в chrome и не в расширении почтальона chrome.

    Cookie c[] = request.getCookies();
    int userid = Integer.parseInt(c[1].getValue());
    out.print(om.writeValueAsString(ReimbService.getTicketsByUserid(userid)));

пожалуйста, помогите, это так странно

1 Ответ

0 голосов
/ 29 февраля 2020

Я наконец решил проблему. Спасибо за это сообщение: { ссылка }

Чтобы решить эту проблему (отправка файлов cookie по доменам, вам необходимо добавить

response.addHeader("Access-Control-Allow-Credentials", "true");

в свой сервлет и добавить

{withCredentials: true}

на ваш внешний вызов, например:

 this.httpClient.post<User>(url,params,{withCredentials: true})
    .subscribe((val)=>{//do something with the response}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...