ASP.NET MVC Authorizationカスタムジャンプ
1762 ワード
適用シーン:ASP.NET MVCアプリケーションでは、ログインしていないユーザや権限に合致しないユーザなど、ユーザのアイデンティティ権限を検証する必要があり、Actionにアクセスしたときに、指定されたページにジャンプします.
Authorizeの書き換え:
アクション呼び出し:
注意:HandleUnauthorizedRequestは、認証に失敗した場合に実行されます.
Authorizeの書き換え:
public class AdminAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (!httpContext.Request.IsAuthenticated)
{
return false;
}
else
{
if (!UserService.IsInRole(httpContext.User.Identity.Name, "admin"))
{
return false;
}
}
return true;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new RedirectResult("http://www.sample.com");
}
}
アクション呼び出し:
[AdminAuthorize]
public ActionResult Home()
{
return View();
}
注意:HandleUnauthorizedRequestは、認証に失敗した場合に実行されます.