是否可以对复杂声明进行建模(分层/嵌套/等)?

时间:2014-03-11 05:51:38

标签: .net wif claims-based-identity adfs2.0 adfs

将Windows Identity Foundation(WIF)与安全令牌服务(STS)结合使用,是否可以创建可满足以下问题的复杂声明:

对于声称具有“支持”角色的用户,该用户:

  • 只能查看和使用resource1
  • 无法更新,创建或删除resource2
  • 无法创建或删除resource3
  • 只能使用和更新带有“资源”标记的资源。

这是一个人为设计的例子,但这可能吗?我想我想授权经过身份验证的用户使用基本声明,然后在应用程序中添加相关的复杂声明(这些声明将存储在数据库中并在应用程序用户的控制下)。

谢谢, 理查德

1 个答案:

答案 0 :(得分:2)

你绝对可以像那样建模 - 它们只是字符串 - 无论你怎么做才能对声明做出的字符串;)

但这肯定是一种反模式。声明描述了用户的身份 - 可能包括粗粒度授权信息。这里有一个很好的界限。

但是对于您的用例,您宁愿在ClaimsAuthorizationManager中实施授权策略,并使用身份声明作为输入来“计算”您的细粒度授权决策。