JPr*_*mer 5 spring spring-security spring-boot spring-security-oauth2 spring-session
我们使用Spring Boot + Spring Security设计了多租户WebApp.此应用程序用于管理Azure中的某些资源.用户使用OAuth2.0登录我们的WebApp,并可以通过我们的应用程序访问Azure资源.
现在,我们需要允许多个用户在单个浏览器会话中登录我们的应用程序.因此,基本上用户(用户1)将使用credentials1登录以访问这些凭证所允许的资源.然后,用户将使用credentials2(基本上是另一个用户凭据,可以将其称为user2)登录到同一浏览器页面.同一会话中将有两个活动用户.用户应该能够在这些帐户之间切换.
用户登录我们的应用程序后,我们实例化RestTemplate(使用输入的凭据)来访问Azure资源.
要么我们可以将单个JSession id映射到多个RestTemplate,要么将多个JSession ID(在单个JSession cookie中)映射到单个RestTemplate.我们可以有请求参数来指示要使用的RestTemplate.
我们使用SpringSecurity来获取访问令牌.然后,此访问令牌将在RestTemplate中使用,并用于访问Azure资源.
“现在我们需要允许多个用户在单个浏览器会话中登录我们的应用程序”
这种方法到底安全吗?我的意思是,不建议让两个用户使用相同的浏览器并共享信息。
“我们可以将单个 JSession ID 映射到多个 RestTemplate,或者将多个 JSession ID(在单个 JSession cookie 内)映射到单个 RestTemplate”
我从未见过这种做法。以 Google 为例——您可以切换配置文件,但需要登录。
如果您确实需要这样做,Chrome、Firefox 和 Opera 有一个开箱即用的解决方案,称为SessionBox,它可以在同一浏览器中进行会话切换。否则,两种常见的解决方案是:
| 归档时间: |
|
| 查看次数: |
341 次 |
| 最近记录: |