【发布时间】:2014-01-09 13:35:16
【问题描述】:
我们正在使用 ThinkTecture 的 MVC ClaimsAuthorizeAttribute 控制对应用程序资源和操作的访问,并希望能够使用 Moq 包含一些单元测试覆盖率。
理想情况下,我想编写一个测试,请求一个控制器操作,并用以下内容装饰:
[ClaimsAuthorize("operation_x", "resource_1")]
...以便在执行测试时进入我们AuthorizationManager的CheckAccess覆盖方法。
我们的 CheckAccess 覆盖只是从传入的 AuthorizationContext(“operation_x”和“resource_1”)获取操作和资源,并确定 Principal 是否将资源/操作组合作为声明,如果找到匹配项则返回 true。
测试将根据我们的 CheckAccess 覆盖的结果通过或失败。
我在网上找到的大多数示例都是关于单元测试自定义 Authorize 属性或测试控制器操作是否已被 AuthzAttribute 修饰。测试 ThinkTecture 的 ClaimsAuthorize 属性的示例似乎并不多。
是否有可能实现我所描述的?如果有,请指教!
谢谢
【问题讨论】:
标签: security authorization claims thinktecture-ident-model