SOA 安全:.NET 与 Windows Azure 实现
1. 订单服务安全架构设计案例
在订单服务安全架构设计案例中,采用了基于声明的授权机制,并对内部和外部服务消费者的客户端凭证进行了规范化处理。目标是创建一个对所有消费者都相同的安全模型,且该授权与订单业务流程的安全要求松散耦合。
为了实现这个解决方案,设计了一个自定义的声明结构,保护的业务实体包括客户、订单和发货通知。不同类型的用户对这些实体拥有不同的操作权限,具体如下表所示:
| 资源 | 用户 | 权限 |
| — | — | — |
| 客户 | 外部用户 | 读取和更新(仅限自己的记录) |
| 客户 | 内部用户 | 创建、读取、更新、删除所有客户(必须拥有管理员权限) |
| 订单 | 外部用户 | 创建、读取、更新(仅限自己的记录) |
| 订单 | 内部用户 | 读取、更新、删除(必须拥有管理员权限) |
| 发货通知 | 外部用户 | 读取(仅限自己的记录) |
| 发货通知 | 内部用户 | 创建、读取、更新 |
以下是声明类型与消费者资源的映射关系:
| 声明类型 | 资源 |
| — | — |
| ClaimType.Read | 客户 |
| ClaimType.Update | 客户 |
| ClaimType.Create | 订单 |
| ClaimType.Read | 订单 |
| ClaimType.Update | 订单 |
| ClaimType.Delete | 订单 |
| ClaimType.Organ
超级会员免费看
订阅专栏 解锁全文
32

被折叠的 条评论
为什么被折叠?



