fol*_*man 1 active-directory azure asp.net-core
我构建了一个 .Net Core Web 应用程序,用于根据 Azure AD 对用户进行身份验证。身份验证成功后,我想访问经过身份验证的用户\xe2\x80\x99s 详细信息,例如用户名/电子邮件。
\n\n我无法\xe2\x80\x99 弄清楚如何做到这一点。有人可以帮忙吗?谢谢。顺便说一句,我正在使用 C#。
\n这些值应通过声明提供。User
在 ASP.NET Core 中,您可以通过大多数框架位置(如控制器、Razor 页面或 Razor 视图)提供的对象来访问 user\xe2\x80\x99s 声明。
电子邮件和用户名应分别通过ClaimTypes.Email
和ClaimTypes.Name
声明提供。因此,您应该能够执行此操作来检索这些值:
string email = User.FindFirstValue(ClaimTypes.Email);\nstring name = User.FindFirstValue(ClaimTypes.Name);\n
Run Code Online (Sandbox Code Playgroud)\n\n您还可以循环浏览该User.Claims
集合以查看您的身份验证提供程序包含哪些声明。例如,您可以在 Razor 视图中执行此操作,以快速列出所有可用的声明:
<ul>\n @foreach (var claim in User.Claims)\n {\n <li><strong>@claim.Type:</strong> @claim.Value</li>\n }\n</ul>\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
3832 次 |
最近记录: |