所以我有一个Backend,它有一个登录方法来处理我们的身份验证。在此登录中,我将包含用户名的cookie设置为根路径,因此可以通过所有内容访问它。
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);
}
}
在Angular方面,我使用ngCookies进行cookie检索和存储。 Angular版本为1.4.6,供参考。
当我使用ngCookies时,我做了
$cookies.put('USERNAME', ' ', { path: '/', domain: 'https://example.com', secure: true }
但是当我登录并拥有console.log($cookies.getAll()
或console.log($cookies.get('USERNAME)
时,我得到一个USERNAME没有值的对象,或者一个未定义的对象或一个空对象。
我的ngCookies或我设置cookie路径的地方有什么问题?