【发布时间】:2017-03-17 06:22:11
【问题描述】:
我创建了一个自定义过滤器属性,它将进行一些基本的令牌验证。因此,我首先添加了几行以查看它是否正常工作,但由于某种原因它无法正常工作。
自定义过滤器类
/// <summary>
/// Basic Token Based Authitication
/// </summary>
public class BasicTokenValidation : ActionFilterAttribute
{
/// <summary>
/// Validate Token
/// </summary>
/// <param name="actionContext"></param>
public override void OnActionExecuting(HttpActionContext actionContext)
{
HttpContext.Current.Response.Write(" filter1 ");
Debug.WriteLine("Executing My Filter!");
if (actionContext.Request.Headers.Authorization == null)
{
actionContext.Response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
}
else {
string authToken = actionContext.Request.Headers.Authorization.Parameter;
}
base.OnActionExecuting(actionContext);
}
}
我在 WebApi.config
中注册了它config.Filters.Add(new BasicTokenValidation());
这是我如何装饰我的控制器方法
[HttpGet]
[Route("get/all")]
[BasicTokenValidation]
public IHttpActionResult GetAll()
{
try
{
// Some Code
}
catch (Exception ex)
{
return InternalServerError(ex);
}
}
不确定是否需要配置其他内容。确实阅读了一些帖子和文章,其中一些我确实拥有创建自定义过滤器所需的一切。
我们将不胜感激。
谢谢
【问题讨论】:
-
你能显示 BasicTokenValidation 类吗?
-
请看编辑,添加类
标签: c# asp.net-web-api2