4
MVC 4 프로젝트에서 SimpleMembershipProvider를 사용하는 동안 적절한 역할이없는 사용자가 작업을 실행하면 계정/로그인으로 리디렉션됩니다. 사용자를 내 자신의 "페이지를 볼 수있는 권한이 충분하지 않음"작업으로 리디렉션 할 수 있습니까?적절한 역할이 아닌 사용자를 허용 안 함으로 리디렉션하는 방법은 무엇입니까?
당신은 방법을 덮어 쓸 수 있습니다MVC 4 프로젝트에서 SimpleMembershipProvider를 사용하는 동안 적절한 역할이없는 사용자가 작업을 실행하면 계정/로그인으로 리디렉션됩니다. 사용자를 내 자신의 "페이지를 볼 수있는 권한이 충분하지 않음"작업으로 리디렉션 할 수 있습니까?적절한 역할이 아닌 사용자를 허용 안 함으로 리디렉션하는 방법은 무엇입니까?
당신은 방법을 덮어 쓸 수 있습니다그것을
public class CustomAuthorizeAttribute : AuthorizeAttribute {
public override void OnAuthorization(AuthorizationContext filterContext) {
base.OnAuthorization(filterContext);
if (filterContext == null) {
throw new ArgumentNullException("filterContext");
}
if ({your code detecting no user is logged}) {
filterContext.Result = new RedirectResult(System.Web.Security.FormsAuthentication.LoginUrl + "?returnUrl=" + filterContext.HttpContext.Server.UrlEncode(filterContext.HttpContext.Request.RawUrl));
return;
}
if ({your code detecting that the user has no access}) {
var ViewData = new ViewDataDictionary();
ViewData.Add("Title", "No access");
ViewData.Add("Description", "blah blah blah blah blah blah blah ");
filterContext.Result = new ViewResult { ViewName = "~/Views/Shared/NoAccess.cshtml", ViewData = ViewData };
}
}
을 할 수