相关疑难解决方法(0)

RESTful身份验证

RESTful身份验证的含义是什么?它是如何工作的?我无法在Google上找到一个很好的概述.我唯一的理解是你在URL中传递会话密钥(remeberal),但这可能是非常错误的.

authentication rest restful-authentication rest-security

726
推荐指数
11
解决办法
39万
查看次数

会话真的违反了R​​ESTfulness吗?

在RESTful API中使用会话是否真的违反了R​​ESTfulness?我看到很多意见朝着两个方向发展,但我不相信会话是无REST的.在我看来,我的观点是:

  • RESTfulness不禁止身份验证(否则在RESTful服务中几乎没有用)
  • 通过在请求中发送身份验证令牌(通常是标头)来完成身份验证
  • 此身份验证令牌需要以某种方式获取并可能被撤销,在这种情况下需要续订
  • 验证令牌需要由服务器验证(否则它不会是身份验证)

会话如何违反这一点?

  • 客户端,会话使用cookie实现
  • cookies只是一个额外的HTTP标头
  • 可以随时获取和撤销会话cookie
  • 如果需要,会话cookie可以有无限的生命周期
  • 会话ID(身份验证令牌)在服务器端验证

因此,对于客户端,会话cookie与任何其他基于HTTP头的身份验证机制完全相同,除了它使用Cookie头而不是Authorization其他专有头.如果cookie值服务器端没有附加会话,为什么会产生影响呢?只要服务器表现为 RESTful ,服务器端实现就不需要关注客户端.因此,cookie本身不应该使API无REST,而会话只是客户端的cookie.

我的假设是错的吗?什么使会话cookie RESTless

cookies rest session restful-authentication

472
推荐指数
4
解决办法
12万
查看次数

微服务中的会话管理

我们有以下设置.

  1. STM(Stingrey Traffic Manager)负载平衡+会话粘性
  2. Weblogic'集群'
  3. Auth由第三方工具处理

因此,我不必担心有关水平扩展/运行应用程序的多个实例的会话.STM/Weblogic集群确保后续请求来到同一个受管服务器.

我们目前拥有的是单片应用程序,我们正在努力转向微服务.此外,我们不想离开当前的基础设施(即STM/Weblogic集群/ Auth工具).我们计划的是:

  1. 网关WAR将请求路由到其他微服务
  2. 每个功能子域的N x微服务(WAR)
  3. 只有API网关接收用户请求,并且无法从外部访问其他微服务

所以我的问题是

  1. API网关应该是状态满的而其他微服务是无状态的吗?
  2. 如果是这样,应该如何在API网关和微服务之间共享用户会话数据?

请建议任何更好的替代方案和资源/链接.谢谢.

java cookies session weblogic microservices

16
推荐指数
2
解决办法
2万
查看次数