個人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>"); } }