Javascript 用户cookie设置为根路径,但我仍然可以';当使用ngCookies时,我看不到它
所以我有一个后端,它有一个登录方法来处理我们的身份验证。在这个登录中,我将包含用户名的cookie设置为根路径,这样所有人都可以访问它Javascript 用户cookie设置为根路径,但我仍然可以';当使用ngCookies时,我看不到它,javascript,angularjs,cookies,web,spring-security,Javascript,Angularjs,Cookies,Web,Spring Security,所以我有一个后端,它有一个登录方法来处理我们的身份验证。在这个登录中,我将包含用户名的cookie设置为根路径,这样所有人都可以访问它 RequestMapping(method = RequestMethod.GET, value = "/login", headers = "Accept=application/json") public @ResponseBody HttpServletResponse login(HttpServletRequest request, HttpServl
RequestMapping(method = RequestMethod.GET, value = "/login", headers = "Accept=application/json")
public @ResponseBody HttpServletResponse login(HttpServletRequest request, HttpServletResponse response) {
// toLog(Level.INFO, "Logging user in.");
String referingURL = request.getHeader("referer");
_LOG.debug("Referer: " + referingURL);
try {
String user = "123456789";
user = SecurityUtils.getCurrentUsername();
Cookie userCookie = new Cookie("USERNAME", user);
userCookie.setSecure(true);
userCookie.setDomain(referingURL);
userCookie.setPath("/");
response.addCookie(userCookie);
_LOG.debug("Cookie Path: " + userCookie.getPath());
response.sendRedirect(referingURL);
return response;
} catch (Exception e) {
// toLog(Level.ERROR, "Error logging user in", e);
throw new ResourceNotFoundException(e);
}
}
在角度方面,我使用ngCookies来检索和存储cookie。角度版本为1.4.6,仅供参考
当我使用ngCookies时,我会
$cookies.put('USERNAME', ' ', { path: '/', domain: 'https://example.com', secure: true }
但是当我登录并拥有console.log($cookies.getAll()
或console.log($cookies.get('USERNAME)
时,我会得到一个用户名没有值的对象,或者是一个未定义的对象,或者是一个空对象
我的NgCookie有什么问题,或者我在哪里设置了cookie路径?后端在不同的域或端口上吗?1.您的前端是否超过了https连接?否则将无法使用cookie 2。您不需要在客户端手动存储cookie。angular会处理它。请查看您的开发工具r浏览器,查看Cookie是什么set@charlietfl当它被托管时,域是,后端是@bopa-在本地,我想我必须配置我的gulp服务器来进行HTTPS连接,但当它被托管时,它是所有HTTPS。我也看到了浏览器中设置的cookies。