其他分享
首页 > 其他分享> > 春季安全和无状态宁静服务

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

作者:互联网

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

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

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

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

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

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

保存凭证的最佳位置在哪里?

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

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

解决方法:

Spring Session

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

Restful?

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

Spring Security OAuth

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

标签:redis,spring-boot,spring-security,spring-session,spring
来源: https://codeday.me/bug/20191026/1936985.html