我遵循this代码,成功地实现了jwt身份验证。我在我的web应用程序中使用此身份验证。我可以在登录页面上获取令牌。之后,如何将该令牌附加到所有后续请求的头部。我将令牌存储在本地存储中,但当我在js加载之前成功登录后导航到下一个页面时,页面加载时出现401错误。
我该如何实现这一点呢?
发布于 2016-08-31 03:16:55
问题是您试图在Web MVC架构中使用基于令牌的安全性。我快速搜索了有关如何使用该方法的任何教程,我所能找到的都是使用基于令牌的安全性的REST示例。
原因是,使用Spring MVC,您单击的每个链接都会将您重定向到一个控制器端点,该端点将呈现HTML并将其发送回浏览器。除非您以某种方式使站点上的每个链接都将令牌包含在标题中,或者可能使用cookie来存储令牌,否则您将得到401错误,因为令牌不存在于请求中。
如果您使用Angular JS (或您最喜欢的前端框架)和REST后端,您将能够使用JS将您需要的任何内容放在头文件中,以确保用户已通过身份验证并有权访问资源。有很多示例项目演示了如何做到这一点。
免责声明我还没有找到一个可靠的来源,明确地说基于令牌的安全性只适用于REST。我是基于经验和我在教程和how to文章中看到的东西。
发布于 2016-08-31 06:30:47
我完全同意blur0224的回答,你必须在你页面上每个链接的请求头中设置令牌。我不知道如何做到这一点。此外,我认为基于JWT令牌的身份验证对于基于MVC的应用程序来说不是正确的方式。我会在像Angularjs这样的框架的SPA构建中使用它。
为什么不使用“标准”的Spring身份验证?
https://stackoverflow.com/questions/39229250
复制相似问题