在我们的应用程序中,我们有很多不同的配置文件。每个配置文件使用户能够访问服务的特定功能或执行特定次数的特定操作。
我们正在考虑创建一个WCF授权服务来集中所有内容的逻辑,因此“slave”应用程序将只反映这个“裁判”应用程序告诉他们要做的事情。
你认为这是个好主意吗?你已经使用过的模式吗?网上有什么东西可以研究吗?感谢您的意见。
马
答案 0 :(得分:1)
您可能希望通过Windows Identity Foundation(WIF)查看基于声明的身份验证。在此模型中,您的“从属”服务成为所谓的依赖方(RP),每个服务方都信任身份验证令牌的颁发者(STS)。此令牌包含可以自定义到每个RP的声明。它建立在开放标准的基础之上,可能会证明更加安全,并且可以证明自己可以自行推出。
所有这些都将通过扩展IPrincipal和IIdentity的相对简单的WIF API在您的服务中浮现。现在可能还有一些工作要做,但肯定能长期提供更好的解决方案吗?
编辑: 您的服务将信任STS。因此,当用户使用STS发出的一组声明向您提供服务时,请将其视为有效。您的服务不需要包含任何用于查找角色的逻辑,因为它们都包含在由STS定义的声明中。作为服务开发人员,您所做的就是根据这些声明决定用户可以做什么或不做什么。以下开发人员whitepaper可能会提供帮助(PDF)。