sct*_*lsn 13 authentication soa authorization web-services
我正在探索面向服务的基本架构,我想知道如何在整个服务中最好地处理用户身份验证.
作为一个非常简单的示例,假设我们有一个博客应用程序,可以调用其他两个服务:
假设应用程序的用户正在尝试删除特定帖子,并且只允许具有"admin"角色的用户这样做.
需要提出以下要求:
app - > auth
验证当前用户(通过某种令牌).如果令牌过期,应用程序可以将用户重定向到登录表单等.
app - >帖子
删除帖子.
帖子 - > auth
在删除帖子之前,帖子服务需要确保请求用户有权这样做.验证当前用户(通过令牌)并确保他们具有"admin"角色.
这是一个非常简单的例子,但我很好奇人们如何在他们的服务中处理auth.似乎每个服务都需要单独调用身份验证服务才能授权请求.是这样的吗?在这种SOA中是否有更好的方法来处理auth?
谢谢!
您可以实现身份提供程序 - 一旦用户使用授权/身份验证服务进行身份验证,她就应该获得一个标识她的令牌.此令牌可以识别她(角色/声明)并由身份验证/授权服务私钥签名.当服务获取安全令牌并且由受信任的机构签名时,它不需要再次转到身份验证/授权服务.
如果您的系统具有更高的安全要求(例如,在用户级别),您可能需要详细的声明或在每个请求上访问授权系统.我曾经在一个系统上工作过一次,其中某些类型的信息需要在每次访问时获得授权,其他类型的基于角色的安全性都可以 - 您的millage可能会有所不同
| 归档时间: |
|
| 查看次数: |
5137 次 |
| 最近记录: |