我的项目分为微服务。我的前端项目是Spring Boot之上的AngularJS。
我的服务完全安静,我希望保持这种状态。
因为我的服务是Restful,所以我在前端使用HTTP Basic安全性作为身份验证过程。
最初,最终用户通过登录页面后,一切似乎都很好。
但是之后,我意识到由于我的Restful风格,我没有维护HTTP状态,这意味着在即将到来的对服务器的请求中,我将不得不继续向服务器发送HTTP Basic凭据。而且我无法验证用户要向服务器发出的每个请求。
有这种HTTP无状态样式和维护服务器凭据的解决方法吗?
保存凭证最好在哪里?
一块饼干?但这会将状态带回HTTP请求。
在我的网上搜索中,我遇到了Redis和/或Spring会话,那答案是什么?
Spring Session是Spring产品组合中一个鲜为人知的伟大项目。它可以轻松地使您的应用程序使用外部会话存储(例如Redis)而不是本地化会话(例如Tomcat)。这使您可以利用负载平衡器在多个服务器之间分配流量,而不会丢失应用程序状态(例如,已登录/已注销)。它还允许您重新引导单个服务器,而不会破坏Users会话。
是的,您可以使用修改后的Spring Session配置使其更适合与Rest端点一起使用。您将使用HttpBasic执行初始身份验证,但是您将收到一个授权令牌,该令牌将在后续请求中作为Http标头传递,代替用户名和密码。请参阅文档链接以获取更多详细信息
这是一个复杂得多的设置,但是它具有诸如利用外部身份提供商(例如Google,Facebook)之类的优势。您还可以简化跨多个应用程序的SSO。我建议从Spring Session开始,因为它对于初学者来说要简单得多。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句