个人demo:SwaggerDemoApi
今天看到一段代码懵逼了
var principal = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, authorization), new Claim(ClaimTypes.Name, userName.FirstOrDefault()) }, "Basic")); // authorize attribute request.GetRequestContext().Principal = principal;
是我项目中的代码,忘记从哪拷贝来的了,不知道这段代码的作用,看到官方文档立马明白了。
个人理解:把header中的数据解析出来后,传递到接口里面,如果有接口需要的话可以直接解析得到,代码如下
ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal; if (null != principal) { foreach (Claim claim in principal.Claims) { Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>"); } }