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);\nRun 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>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3832 次 |
| 最近记录: |