ASP.NET MVC Authorization 사용자 정의 점프

1759 단어
장면 적용:ASP.NET MVC 응용 프로그램에서는 로그인하지 않거나 권한에 부합되지 않는 사용자가 Action에 접근할 때 지정한 페이지로 이동하는 등 사용자 신분 권한을 검증해야 한다.
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");
    }
}

Action 호출:
[AdminAuthorize]
public ActionResult Home()
{
    return View();
}

참고:Handle UnauthorizedRequest는 인증을 통과하지 않았을 때 실행됩니다.

좋은 웹페이지 즐겨찾기