在研究了基于声明的安全(或联合安全模型)的主题之后。我遇到过许多使用CardSpace作为示例的示例。我读到的主要文章对这个主题给出了很好的解释,它是Microsoft 在一个名为Zermatt的框架上编写的PDF。
我正在研究的基于声明的安全架构相当于实现STS身份验证代理和 STS 授权代理。这样,当我创建一个新服务时,我需要做的就是确保该服务只接受授权代理发出的声明。正如文章中所指出的,授权代理将只接受身份验证代理发出的声明。
设置完成后,任何时候客户端尝试使用新服务,它都必须通过Authentication Broker 进行身份验证(发出经过身份验证的声明),然后通过 Authorization Broker 获得授权(发出经过授权的声明)。
这一切都很好,而且架构很清晰,但我不知道如何实现 STS。正如我所提到的,网络上的大多数(如果不是全部)示例都展示了如何使用 CardSpace,但是当您有一个数据库备份您的身份验证方案时,这并不完全有效。
示例场景
替代文字 http://img512.imageshack.us/img512/8329/claimsbasedsecurityza6.jpg