ここで利用可能な優れたチュートリアルに基づいて、クレーム承認を使用する MVC アプリケーションがあります。コードでは、ClaimsAuthorizationManager の CheckAccess メソッドをオーバーライドして、各リソースとアクションに対して独自のロジックを実装します。
public class CustomAuthorisationManager : ClaimsAuthorizationManager
{
public override bool CheckAccess(AuthorizationContext context)
{
string resource = context.Resource.First().Value;
string action = context.Action.First().Value;
if (action == "Show" && resource == "Code")
{
bool livesInScotland = context.Principal.HasClaim(ClaimTypes.Country, "Scotland");
return livesInScotland;
}
return false;
}
}
そして、CheckAccess メソッドが false を返すたびに HTTP エラー 401.0 – Unauthorized が発生するという事実を除けば、すべて正常に動作します。私の質問は、コードでこのエラーを処理して、カスタム エラー ページをユーザーに表示するにはどうすればよいかということです。hereやhereなど、さまざまなソリューションを見てきましたが、うまく機能させることができませんでした。