在 .NET Web 应用程序中获取登录用户的 UPN 或电子邮件

Get UPN or email for logged in user in a .NET web application(在 .NET Web 应用程序中获取登录用户的 UPN 或电子邮件)
本文介绍了在 .NET Web 应用程序中获取登录用户的 UPN 或电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我不是 .NET 开发人员,我觉得这对于以下人员来说是微不足道的:

我有一个 C# web 应用程序,它使用户使用登录用户的用户凭据.目前它使用来自

的 SID

System.Security.Principal.WindowsIdentity.GetCurrent().User.Value

我需要获取用户 UPN 登录名或电子邮件地址(在活动目录中定义)而不是 SID.GetCurrent() 返回一个类型为 WindowsIdentity 的对象;查看 WindowsIdentity 成员的详细信息:

MSDN:WindowsIdentity 成员

我看不到任何看起来会给我 UPN 或电子邮件的内容.我如何提取要使用的信息,或者通过将 SID 提供给其他一些函数,或者首先调用不同的东西.

解决方案

同时 (.NET 3.5) 这是一个单行:

System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress

用于电子邮件,或

System.DirectoryServices.AccountManagement.UserPrincipal.Current.UserPrincipalName

用于 UPN.

I'm not a .NET developer, and I have a feeling this would be trivial for someone who is:

I have a C# web application that makes user of the user credentials of the logged in user. Currently it uses the SID which comes from

System.Security.Principal.WindowsIdentity.GetCurrent().User.Value 

I need to get either the users UPN login or email address (as defined in active directory) instead of the SID. GetCurrent() returns an object of type WindowsIdentity; looking in the details for WindowsIdentity Members:

MSDN: WindowsIdentity Members

I can't see anything that looks like it would give me either the UPN or email in there. How can I pull up that information to use, either by feeding the SID into some other function or calling something different in the first place.

解决方案

Meanwhile (.NET 3.5) this is a one-liner:

System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress

for the email, or

System.DirectoryServices.AccountManagement.UserPrincipal.Current.UserPrincipalName

for the UPN.

这篇关于在 .NET Web 应用程序中获取登录用户的 UPN 或电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

ActiveDirectory error 0x8000500c when traversing properties(遍历属性时 ActiveDirectory 错误 0x8000500c)
search by samaccountname with wildcards(使用通配符按 samaccountname 搜索)
Get the list of Groups for the given UserPrincipal(获取给定 UserPrincipal 的组列表)
Can you find an Active Directory User#39;s Primary Group in C#?(你能在 C# 中找到 Active Directory 用户的主要组吗?)
How to register System.DirectoryServices for use in SQL CLR User Functions?(如何注册 System.DirectoryServices 以在 SQL CLR 用户函数中使用?)
Query From LDAP for User Groups(从 LDAP 查询用户组)