春季安全和无状态宁静服务

莫西·阿拉德(​​Moshe Arad)

我的项目分为微服务。我的前端项目是Spring Boot之上的AngularJS。

我的服务完全安静,我希望保持这种状态。

因为我的服务是Restful,所以我在前端使用HTTP Basic安全性作为身份验证过程。

最初,最终用户通过登录页面后,一切似乎都很好。

但是之后,我意识到由于我的Restful风格,我没有维护HTTP状态,这意味着在即将到来的对服务器的请求中,我将不得不继续向服务器发送HTTP Basic凭据。而且我无法验证用户要向服务器发出的每个请求。

有这种HTTP无状态样式和维护服务器凭据的解决方法吗?

保存凭证最好在哪里?

一块饼干?但这会将状态带回HTTP请求。

在我的网上搜索中,我遇到了Redis和/或Spring会话,那答案是什么?

凯尔·安德森(Kyle Anderson)

春季会议

Spring Session是Spring产品组合中一个鲜为人知的伟大项目。它可以轻松地使您的应用程序使用外部会话存储(例如Redis)而不是本地化会话(例如Tomcat)。这使您可以利用负载平衡器在多个服务器之间分配流量,而不会丢失应用程序状态(例如,已登录/已注销)。它还允许您重新引导单个服务器,而不会破坏Users会话。

安静吗

是的,您可以使用修改后的Spring Session配置使其更适合与Rest端点一起使用。您将使用HttpBasic执行初始身份验证,但是您将收到一个授权令牌,该令牌将在后续请求中作为Http标头传递,代替用户名和密码。请参阅文档链接以获取更多详细信息

春季安全OAuth

这是一个复杂得多的设置,但是它具有诸如利用外部身份提供商(例如Google,Facebook)之类的优势。您还可以简化跨多个应用程序的SSO。我建议从Spring Session开始,因为它对于初学者来说要简单得多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章