Как добавить значения в претензии и получить их из веб-API - .Net core - PullRequest
0 голосов
/ 24 апреля 2019

Я использую Asp .net core 2.1

Как добавить пользовательские заявки после входа в систему?

1 Ответ

0 голосов
/ 24 апреля 2019

для добавления пользовательских утверждений после входа в систему вы можете использовать метод AddClaim над новым экземпляром ClaimsIdentity

var claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.Name, "some Name"));
claims.Add(new Claim(ClaimTypes.Email, "abc@xyz.com"));
var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);

var ctx = Request.GetOwinContext();
var authenticationManager = ctx.Authentication;
authenticationManager.SignIn(identity);

Затем, чтобы получить заявки, вы можете использовать LINQ поверх экземпляра ClaimsPrincipal:

var identity = (ClaimsPrincipal)Thread.CurrentPrincipal;
string email = identity.Claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).SingleOrDefault();

Обновление: Пытаясь исследовать и устранить проблему самостоятельно, я нашел этот ответ, который работает как альтернативное решение вашей проблемы.

...