1

在我的MVC 4应用程序中,带有SimpleMembershipProvider. 我正在用属性装饰我的控制器[Authorize(Roles = "Admin")]

当角色为假时,我将用户重定向到登录页面。如何将其更改为重定向到索引页面?

4

1 回答 1

1

您可以通过覆盖来使用自定义授权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*/" }
                        });
   }
}
于 2013-04-01T12:01:41.360 回答