Asp.net mvc 3 如何在asp.net mvc 3中实现自定义授权?

Asp.net mvc 3 如何在asp.net mvc 3中实现自定义授权?,asp.net-mvc-3,sql-server-2008,action-filter,Asp.net Mvc 3,Sql Server 2008,Action Filter,正在寻找使用sql server 2008的asp.net mvc 3应用程序的自定义授权解决方案。但是我不想使用ASPNETDB.mdf 目前我正在尝试使用customactionfilter,但我不知道如何在这里返回布尔值。有人有类似场景的好例子吗 public class CustAuthFilterAttribute : ActionFilterAttribute, IActionFilter { public string Roles {get;set;} public overri

正在寻找使用sql server 2008的asp.net mvc 3应用程序的自定义授权解决方案。但是我不想使用
ASPNETDB.mdf

目前我正在尝试使用customactionfilter,但我不知道如何在这里返回布尔值。有人有类似场景的好例子吗

public class CustAuthFilterAttribute : ActionFilterAttribute, IActionFilter
{

public string Roles {get;set;}
public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
           //return true/false based on Role the user has
            base.OnActionExecuting(filterContext);
        }
}

如果要实现自定义授权,则应该从中派生

答案为您提供了一个如何使用它的简短示例

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        // check context and roles

        ...

        return true;
    }
}

如果要实现自定义授权,则应该从中派生

答案为您提供了一个如何使用它的简短示例

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        // check context and roles

        ...

        return true;
    }
}

事实上,如果我回忆起,你需要确保你调用base.AuthorizeCore是因为缓存问题,并且由base处理。事实上如果我回忆起,你需要确保你调用base.AuthorizeCore是因为缓存问题,并且由base处理。