使用1563,我如何获取用户名/日志在当前用户的ID /唯一标识符登录?
我目前工作的一个ASP.Net Web上的窗体应用程序。 用户成功登录之后,我可以得到下面的代码的用户名。
var name = User.Identity.Name;
不过,我想在登录的用户的ID /唯一标识符。 看着在1563网站上的个人资料表格,它看起来像1563调用该字段的用户名。
之后做一些研究,我也写了一些代码,获取我想用什么ClaimsPrincipal类和claimType ==“preferred_username”。 但代码看起来像一个黑客给我。 寻找的标准方法来获得这个值。
是的,你是在正确的轨道上。 你必须找到基于其“类型”的索赔,但它很简单:
[Authorize]
public ActionResult SomeMethod()
{
var userId = HttpContext.User.FindFirstValue("preferred_username");
...
}
这是我添加的代码:
var userId = principal.Claims.FirstOrDefault(c => c.Type == "preferred_username");
文章来源: okta - asp.net - How do I get the User Name / Log In Id / Unique Identifier of the current user sign in? - Standard Way?