0

ログインしているユーザーが管理者かどうかを確認するために、クラスにカスタム権限属性を追加しました。しかし、それは機能していません。これが私のコードです

[AdminAuthorization]
public class UsersController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

public sealed class AdminAuthorizationAttribute : AuthorizeAttribute
{
    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        if(!UserSessionHelper.Instance.IsValid && !UserSessionHelper.Instance.Data.IsAdmin)
        {
            filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Error", action = "AccessDenied" }));
        }
    }
}

セッションからユーザーデータを取得して、ユーザーが管理者であるかどうかを確認し、管理者でない場合はアクセス拒否ページにリダイレクトします。しかし、これは機能していません。すべてのユーザーに対して、ページが表示されています。

4

1 に答える 1