我正在尝试评估是否使用经典的基于 Principal 的授权与 IdentityModel 授权。微软最近似乎在推荐后者,但我还没有看到足够的成熟度或支持。具体来说,我真的很喜欢设置 aPrincipalPermissionAttribute
并允许框架自动处理防止未经授权的类实例化和方法调用的能力。
我已经在使用ServiceAuthorizationManager
并且可以在那里执行评估......但是非 WCF 场景呢?那么如何防止某些类的实例化并防止 WCF 操作中的方法调用,而不是在它执行之前呢?
我也已经在使用 IoC 机制,并考虑使用拦截器和自定义激活器,对RequiresClaimAttribute
类或方法的假设执行基于声明的评估......但我不太喜欢这种方法,因为它需要任何对象希望获得授权支持以使用 IoC 容器进行解析和构建...
所以我想我的问题是......微软的 Windows Identity Foundation(又名 IdentityModel 框架)真的足够成熟到可以在这一点上使用吗?有没有办法完成我用 IdentityModel 描述的内容?