我想在登录时在我的响应中设置cookie,然后在每个请求中读取它。 为此,我已经在登录时添加饼干这样的:添加和读取Cookie
Cookie cookieClientId = new Cookie("id", token.getTkn());
cookieClientId.setMaxAge(24*60*60);
response.addCookie(cookieClientId);
当要求来我检查日的cookie存在或不喜欢这样的:
cookies = ((HttpServletRequest) request).getCookies();
cookieId = null;
if (cookies != null) {
for (Cookie ck : cookies) {
System.out.println("ck--------------- "+ck.getName());
if (ck.getName().toString().equals("id")) {
System.out.println("id cookie equal");
cookieId = ck.getValue();
System.out.println("cookie id " + cookieId);
System.out.println(cookieId.equals(authToken));
if (cookieId.equals(authToken)) {
isSecretAndKeyValid = true;
}
};
}
但我面临的问题是我只在第一次请求中获取cookie后才能发送请求。并在此之后,在每个请求我不罚款任何cookie与'id',这是我设定的时间。
我试图搜索cookie添加,检索方法,我发现这只在几乎每一个地方。
当你设置cookie时。在登录之前还是之后? –
认证后的身份验证方法。 – Anita
您是否检查过cookie是否在浏览器(开发工具)中设置?你在哪里打电话给你的代码来搜索cookie? – mrak