gpt4 book ai didi

authentication - SOA 服务设计/认证

转载 作者:行者123 更新时间:2023-12-04 07:47:24 25 4
gpt4 key购买 nike

我对 SOA 比较陌生,因此正在尝试。

目前,给我带来最大问题的部分是身份验证,我目前的想法包括以下几点:

客户端向身份验证/用户服务发送某种身份验证消息,该服务查询数据库,如果找到用户且密码有效,它将以 session ID 响应,此 ID 将用于所有进一步的请求这个客户。

这对我来说似乎还不错,但我不知道应该如何处理对其他服务的请求,我想到了三种不同的方法。

  • 每个服务都询问身份验证服务 session 是否有效,如果有效,用户处于什么角色。身份验证服务在数据库中查找并做出相应的答复。
  • 身份验证服务将所有 session 信息保存在 ram 中,并在没有 db 往返请求的情况下进行响应。
  • 身份验证服务向 esb 发送授权消息,esb 将此授权消息转发给每个服务,这些服务将其缓存。不需要向身份验证服务发出进一步请求。如果用户注销或他的角色发生变化,则所有服务都会发送另一条消息并进行处理。

  • 我认为第一种方法对身份验证服务/db 造成了太大的压力,但实现的努力最少。

    第二个仍然很容易实现,但认证服务的压力几乎保持不变。

    第三个实现起来稍微复杂一些,但会减少响应时间,因为不会发生到身份验证服务的旅程。但是,如果 session 信息太多,这种方法就会失败,并且很难给出可扩展性。

    最佳答案

    如果所有的服务都是内部的,最好的方法应该是这样的,

  • 身份验证服务向服务客户端发出 token 。
  • 服务客户端将 token 包含在包装在 WS-Security 或类似内容中的 SOA 消息中。
  • 服务应在提供服务之前使用身份验证服务验证 token 。

  • 对于外部服务,我建议您查看联合解决方案,例如 SAML .

    关于authentication - SOA 服务设计/认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1296460/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com