我正在尝试评估是否使用基于经典委托人的授权与IdentityModel授权。这些天似乎微软正在推荐后者,但我还没有看到足够的成熟度或对它的支持。具体而言,我非常喜欢设置PrincipalPermissionAttribute
的能力,并允许框架自动处理未经授权的类实例化和方法调用。基于Windows Identity Foundation的基于集成索赔的授权
我已经在使用ServiceAuthorizationManager
并可以在那里执行评估...但非WCF情况如何?如何防止某些类的实例化并阻止在之内执行WCF操作,而不是在它执行之前?
我也已经在使用IoC机制,并且已经考虑使用拦截器和自定义激活器来对类或方法的假设RequiresClaimAttribute
执行基于声明的评估......但是我并不喜欢这种方法,因为它需要任何对象,希望授权支持使用IoC容器进行分辨率和构建......
所以我想我的问题是...是微软的Windows身份基础(aka IdentityModel框架)真正成熟到足以使用此点?有没有完成我用IdentityModel描述的方法?
谢谢,但除非我误解,RequiresRoleAttribute直接是RIA的一部分,因此无法在.NET Framework的其他部分进行扩展或重复使用,而PrincipalPermission本身在.NET Framework中受支持。我意识到WIF可以直接插入到委托人授权模型(我已经通过PrincpalAuthorizationPolicy为WCF服务执行此操作),但这并没有真正解决WIF的可用性问题,而是直接基于委托人的授权。 – Jeff 2010-08-03 05:18:53