在我的MVC 4应用程序中,带有SimpleMembershipProvider
. 我正在用属性装饰我的控制器[Authorize(Roles = "Admin")]
。
当角色为假时,我将用户重定向到登录页面。如何将其更改为重定向到索引页面?
在我的MVC 4应用程序中,带有SimpleMembershipProvider
. 我正在用属性装饰我的控制器[Authorize(Roles = "Admin")]
。
当角色为假时,我将用户重定向到登录页面。如何将其更改为重定向到索引页面?
您可以通过覆盖来使用自定义授权AuthorizeAttribute
属性
[CustomAuthAttribute(Roles = "Admin")]
代码:
using System;
using System.Web.Http;
using System.Net.Http;
public class CustomAuthAttribute : AuthorizeAttribute
{
public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)
{
/* if authorization condition fails */
if(!condition)
{
HandleUnauthorizedRequest(actionContext);
}
}
protected override void HandleUnauthorizedRequest(System.Web.Http.Controllers.HttpActionContext actionContext)
{
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary
{
{ "action", "/*ActionName*/" },
{ "controller", "/*ControllerName*/" }
});
}
}