关于ASP.NET Web API 客户端的请求报文中添加 Authorization
来源:互联网 发布:centos 6.8 32位下载 编辑:程序博客网 时间:2024/06/05 10:34
当你使用客户端发送请求 Web API 的时候,因为API 有验证,所以你的请求报文中必须有”Authorization“,那么就需要手动添加了!
HttpClient client = new HttpClient();client.BaseAddress = new Uri("http://localhost:9014/");client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));//设置请求 Authorization: Basic eXN0Omp1bGk= Base64 加密的 (yst:juli)//System.Net.Http.Headers.AuthenticationHeaderValue authValue = new AuthenticationHeaderValue("Basic", "eXN0Omp1bGk=");//13e6ba0ee6f8559324efe6a3c51909f1 自定义加密的System.Net.Http.Headers.AuthenticationHeaderValue authValue = new AuthenticationHeaderValue("ystJS", "13e6ba0ee6f8559324efe6a3c51909f1");client.DefaultRequestHeaders.Authorization = authValue;
服务器端进行验证
public class ReqAuthorizeAttribute:System.Web.Http.AuthorizeAttribute{ /// <summary> /// 进行验证 /// </summary> /// <param name="actionContext"></param> public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext) { if (actionContext.Request.Headers.Authorization != null) { //获取请求的 认证信息(解密) 13e6ba0ee6f8559324efe6a3c51909f1 string authPa = (actionContext.Request.Headers.Authorization.Parameter).Decrypt(); string userInfo = "yst:juli"; //判断认证信息是否正确 if (string.Equals(authPa, userInfo)) { IsAuthorized(actionContext); } else { HandleUnauthorizedRequest(actionContext); } } else { HandleUnauthorizedRequest(actionContext); } } /// <summary> /// 验证不通过 返回401 /// </summary> /// <param name="actionContext"></param> protected override void HandleUnauthorizedRequest(System.Web.Http.Controllers.HttpActionContext actionContext) { var challengeMsg = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized); challengeMsg.Headers.Add("WWW-Authenticate", "Basic"); throw new System.Web.Http.HttpResponseException(challengeMsg); }}
0 0
- 关于ASP.NET Web API 客户端的请求报文中添加 Authorization
- ASP.NET的高级配置Web.config authorization
- 关于asp.net中为服务器控件添加客户端属性的心得
- 在 Asp.net core 2.0 的Web Api 添加logging
- 关于ASP.NET Web Api的HelpPage文档注释问题
- 关于ASP.NET Web Api的HelpPage文档注释问题
- 关于ASP.NET Web Api的HelpPage文档注释问题
- 关于ASP.NET Web Api的HelpPage文档注释问题
- 关于ASP.NET Web Api的HelpPage文档注释问题
- ASP.NET:为 AJAX 请求添加客户端事件
- ASP.NET:为 AJAX 请求添加客户端事件
- ASP.NET:为 AJAX 请求添加客户端事件
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.Net Web API 中基于属性的路由使用
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.NET MVC4中调用WEB API的四个方法
- ASP.NET MVC4中调用WEB API的四个方法
- Linux环境下段错误的产生原因及调试方法小结
- wordpress 获取当前分类名称或别名
- linux 文件夹的颜色代表什么意思
- 查看文件目录下所有文件的使用进程
- 数字图像的熵(C)
- 关于ASP.NET Web API 客户端的请求报文中添加 Authorization
- 管理定律
- 多线程状态下HashMap和ConCurrentHashMap的运行比较
- IOS关于tabBar的隐藏
- keepalived+MySQL双主实现高可用性
- Windows 7系统维护
- Codeforces #288 A
- java集合中的一个移除数据陷阱(遍历集合自身并同时删除被遍历数据)
- Dynamic Group-By Columns for Jasper Report