我有一个带有用户的数据库,用户可以有不同的角色。MVC Web API自定义基本认证
我想为我的MVC Web API实现基本身份验证,我希望能够使用Authorize
标记标记方法,并通过userType
作为参数。
[Authorize(admin)]
public bool Test()
{
}
[Authorize(user)]
public bool Test1()
{
}
我无法弄清楚如何使这一属性,比如我怎么做,简单地使一个方法总是返回false
属性?
[AttributeUsage(AttributeTargets.All)]
public class TestAttribute: System.Attribute
{
//Return false?
}
我正在寻找一些建议。
编辑:
我做了以下类:
ilterContext.HttpContext.Response.StatusCode = 401;
filterContext.Result = new EmptyResult();
filterContext.HttpContext.Response.End();
}
}
}
private void CacheValidateHandler(HttpContext context, object data, ref HttpValidationStatus validationStatus)
{
然后我添加[BasicAuthorize]的方法,但它还是让我访问它没有基本的autentication。
有什么想法吗?
您想检查角色,但是您的代码会根据数据层检查用户名和密码。你的角色检查在哪里? –
我只是想让基本认证工作,但我现在无法获得任何代码来运行BasicAuthorizeAttribute。 –