githubの Thinktecture サンプルResourceAuthorizationを使用して、サンプル Web アプリケーションを構築しようとしています。
これで、authorize 属性で装飾されたコントローラーにアクションができました。
[ResourceAuthorize("Edit", "Resource")]
public ActionResult Edit()
{
return View();
}
独自の AuthorizationManager を実装しました。
public class AuthorizationManager : ResourceAuthorizationManager
{
public override Task<bool> CheckAccessAsync(ResourceAuthorizationContext context)
{
var resource = context.Resource.First().Value;
if (resource == "Resources")
{
return CheckResourcesAccessAsync(context);
}
else
{
return Nok();
}
}
今アプリケーションを実行しようとすると、エラーが発生し続けます:
No AuthorizationManager set.
次のように web.config にマネージャーを登録する必要があるのではないかと思いました。
<system.identityModel>
<identityConfiguration>
<claimsAuthenticationManager type="Namespace.xy.AuthorizationManager, Namespace.xy" />
</identityConfiguration>
</system.identityModel>
うまくいきません。私は何を間違っていますか?