b_i*_*n_U 22 c# asp.net-mvc authorization filter asp.net-web-api
 public class CustomAuthorizeAttribute : AuthorizationFilterAttribute
 {  
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
       return true;// if my current user is authorised
    }
 }
上面是我的CustomAuthorizeAttribute类和
[CustomAuthorize] // both [CustomAuthorize] and [CustomAuthorizeAttribute ] I tried 
public class ProfileController : ApiController
{
   //My Code..
}
当我打电话的时候
http://localhost:1142/api/Profile 
它没有开火 CustomAuthorizeAttribute
我的FilterConfig类的内容如下所示
public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {            
        filters.Add(new CustomAuthorizeAttribute());
    }
}
如果我错过了什么,请帮忙.
Yis*_*zer 22
HttpContextBase.而是使用System.Web.Http.Filters命名空间中的过滤器.Web API过滤器代码:https: //aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Http/Filters/AuthorizationFilterAttribute.cs
Toa*_*yen 12
你的自定义属性应该继承自System.Web.Http.Filters.AuthorizationFilterAttribute
它看起来应该是这样的
using System.Web.Http.Controllers;
using System.Web.Http.Filters;
public class CustomAuthorizeAttribute : System.Web.Http.Filters.AuthorizationFilterAttribute
{   
    public override bool AllowMultiple
    {
        get { return false; }
    }
    public override void OnAuthorization(HttpActionContext actionContext)
    {
        //Perform your logic here
        base.OnAuthorization(actionContext);
    }
}
les*_*var 10
试试这个.
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool IsAuthorized(System.Web.Http.Controllers.HttpActionContext actionContext)
    {
        return true;
    }
}
| 归档时间: | 
 | 
| 查看次数: | 28895 次 | 
| 最近记录: |