ApiController实现自定义身份认证

Posted 还是上天吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ApiController实现自定义身份认证相关的知识,希望对你有一定的参考价值。

 1 /// <summary>
 2     /// 身份认证
 3     /// </summary>
 4     public class AuthAttribute : AuthorizationFilterAttribute
 5     {
 6         /// <summary>
 7         /// 重写认证过程
 8         /// </summary>
 9         /// <param name="actionContext"></param>
10         public override void OnAuthorization(HttpActionContext actionContext)
11         {
12             HttpResponseMessage message = new HttpResponseMessage();
13             message.StatusCode = System.Net.HttpStatusCode.OK;
14 
15             var TokenQuery = actionContext.Request.GetQueryNameValuePairs().ToList().Where(m => m.Key == "api_key").FirstOrDefault();
16             if (string.IsNullOrEmpty(TokenQuery.Value))
17             {
18                 string json = JsonConvert.SerializeObject(new ReturnModel() { RetCode = 200, Data = { }, Msg = "token认证失败" });
19                 StringContent Content = new StringContent(json, Encoding.GetEncoding("UTF-8"), "application/json");
20                 message.Content = Content;
21 
22                 actionContext.Response = message;
23                 return;
24             }
25             //数据库查询方法
26             //...
27         }
28     }

 

以上是关于ApiController实现自定义身份认证的主要内容,如果未能解决你的问题,请参考以下文章

SpringSecurity 认证详解

启用Azure移动服务身份验证会导致POST请求中的“资源不支持GET”

Android 自定义View 多片叶子叶子旋转滑动

自己开发实现OAuth做webapi认证

使用 System.Web.Http.ApiController + Postman 进行身份验证 - 没有遇到断点/不确定这是如何工作的

Spring Security自定义用户认证