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