我正在考虑将应用程序迁移到Cloud Foundry,因为我已经厌倦了自己管理我的服务器。在我当前的应用程序中,我使用Spring Security和会话来处理我的用户登录。然而,我对如何更改我的代码毫无头绪,因此Cloud Foundry的多个实例支持我的用户以某种方式无状态登录(但使用令牌)。我已经研究过UAA,但似乎这是针对云代工用户的,而不是我的应用程序的用户。
类似OAUTH2似乎是一种解决方案,但如果我想以开发人员友好的方式做这件事,我似乎必须依赖第三方。 Cloud Foundry(或本案例中的Pivotal Web Services)文档在这个问题上也很不清楚。
在查看Spring Cloud文档时,我确实找到了有关如何使用像Github这样的OAUTH2提供程序来执行身份验证等操作的信息,但它没有显示如何实际使用Principal或如何处理诸如授权之类的内容(基于角色)。
我假设有办法运行我自己的OAUTH2服务,这将是推荐的解决方案,但同样,还缺乏文档。
任何人都可以给我一些指示吗?
答案 0 :(得分:1)
这里的几个关键问题是您的用户商店目前在哪里?你想用它向前移动你想做什么?
如果您管理自己的用户并希望继续这样做,那么在将用户迁移到相应的支持服务并更新您的应用程序以便能够使用CFs VCAP_SERVICES env variable绑定到该服务之后(另请参阅{{3我们的会话亲和力应该允许你按原样推送你的应用程序。否则需要进一步讨论。
答案 1 :(得分:0)
这有用吗:
https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#sessions
如果使用jsessionid cookie,Cloud Foundry支持对应用程序的传入HTTP请求的会话关联或粘性会话。如果在Cloud Foundry上运行多个应用程序实例,则来自给定客户端的所有请求都将路由到同一应用程序实例。这允许应用程序容器和框架存储特定于每个用户会话的会话数据。