如何在 C# 中获取当前用户的 Active Directory 详细信息

2024-01-22

我正在开发一个使用 Windows 身份验证的 C# 和 ASP.Net 应用程序。

即在 Web.config 中:

<system.web>
    <authentication mode="Windows" />
</system.web>

我想从 Active Directory 获取当前用户的详细信息(全名、电子邮件地址等)。


我可以获得他们的 Windows 2000 之前的用户登录名(例如:SOMEDOMAIN\someuser) 通过使用

string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"];

我已经使用用户当前的登录名(不是 Windows 2000 之前的用户登录名)制定了 LDAP 查询:

DirectorySearcher adSearch = new DirectorySearcher(
        "([email protected] /cdn-cgi/l/email-protection)");
SearchResult adSearchResult = adSearch.FindOne();

但是,我不知道如何使用 W2K 之前的登录名在 AD 中搜索用户,或者在 '[电子邮件受保护] /cdn-cgi/l/email-protection' 格式。

有任何想法吗?


“Windows 2000 之前的版本”名称,即DOMAIN\SomeBody, the Somebody部分称为 sAMAccountName。

So try:

using(DirectoryEntry de = new DirectoryEntry("LDAP://MyDomainController"))
{
   using(DirectorySearcher adSearch = new DirectorySearcher(de))
   {
     adSearch.Filter = "(sAMAccountName=someuser)";
     SearchResult adSearchResult = adSearch.FindOne();
   }
}

[电子邮件受保护] /cdn-cgi/l/email-protection是 UserPrincipalName,但它不是必填字段。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C# 中获取当前用户的 Active Directory 详细信息 的相关文章

随机推荐

  • “致命错误:无法找到本地 grunt。”在 Windows 7 上

    我根本无法让 grunt 在 Windows 7 上工作 按照 Grunt 网站上的说明进行操作 http gruntjs com getting started http gruntjs com getting started 我已经跑了
  • 如何合并多个 PDB 文件?

    我们目前正在使用单个命令行工具在 Windows 和 Linux 上构建我们的产品 到目前为止 它工作得很好 允许我们从源代码构建 并且具有比我们之前的任何构建系统所允许的更精细的依赖关系 这为我们带来了强大的增量和并行构建能力 为了简要描
  • 如何在Excel应用程序中使用javascript打开Excel html文件

    如何使用javascript或jQuery从浏览器中打开excel中的html文件 我一直在尝试仅使用 window open href 打开 html excel 文件 它在服务器上的位置是 server excelfiles myexc
  • 理解列表推导式的语法

    我不明白列表理解的语法 newList expression element for element in oldList if condition 我不明白的是 element 假设您有以下代码 List character for ch
  • Monotouch:UITableViewCell 高度

    我一直在网上冲浪以弄清楚如何使我的表格单元格高度适合其内容 我的内容具有不同的高度 我试着看看这个样本 http simon nureality ca simon says project d uitableviewcells autosi
  • 如何制作响应式表格[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个表来表示 html 页面中的一些数据 我正在尝试使该表具有响应能力 我怎样才能做到这一点 这里是Demo http jsfid
  • 如何在Android中的DatePicker中仅阻止过去的日期

    如何在Android中的DatePicker中仅阻止过去的日期 我正在使用过去日期和当前日期被阻止的示例代码 我只需要阻止过去的日期 而不是当前日期 这是我的代码 private DatePickerDialog OnDateSetList
  • 向 React Native WebView 添加 CSS 样式

    所以我对此有点困惑 我在应用程序的一部分中使用了 WebView 使用 WebView 的原因是因为我们从返回给我们 HTML 字符串的 API 端点拉取 此 HTML 字符串中的字体大小和其他内容的样式不是为了在移动应用程序中使用而设计的
  • 即使使用 TLSHandshakeTimeShift 选项,TLS 过期的 Hyperledger Fabric orderer 也无法启动

    我的 Hyperledger Fabric 网络的 TLS MSP 密钥已在 500 多小时前过期 由于过期 我的订单在停止后无法重新启动 我的订购者设置是 超级账本 Fabric 版本 2 2 RAFT共识 根据文档 我设置了TLSHan
  • WebElement.equals() 方法如何检查相等性?

    我有超过 1 个 XPath 指向一个 Web 元素 并且我想确定这两个元素是否等效 即 如果我在两个 Web 元素上执行操作 sendKeys 或 click 则该操作将在同一个 Web 元素上执行 目前我正在使用以下方法检查相等性 We
  • 重定向到带有 auth 标头的 url

    我正在尝试重定向到受保护的资源 当我按下登录按钮时 它会发送到我未受保护的登录 api 并返回一个令牌 其他路由期望标头 授权 不记名令牌 类型的交易 但我不知道当我重定向到受保护资源时如何设置标头 console log success
  • TFS 2018 以编程方式创建代理池

    是否可以以编程方式 最好通过 PowerShell 在 TFS 2018 中创建代理池 我在 REST API 中找不到类似的东西 我不知道为什么它没有详细记录 但这对我来说对 VSTS 有效 token myPAT base64AuthI
  • 获取 UITextView 中滚动后可见文本的 NSRange

    我正在尝试将滚动文本的位置保存在UITextView这样我就可以在加载时返回到该位置ViewController再次 我有很长的字符串 所以我希望用户能够滚动到特定位置 然后稍后返回到该位置 我正在使用UITextView scrollRa
  • 有没有办法让 json.Unmarshal() 根据“type”属性选择结构类型?

    我有一些以下形式的 JSON type car color red hp 85 doors 4 type plane color blue engines 3 我有类型car and plane满足车辆接口 我希望能够写 var v veh
  • 如何在开始其他活动时保留 Tabhost

    我的 TabHost 有问题 我的 TabBarActivity 类流程为 公共类 TabBarActivity 扩展 TabActivity 实现 OnTabChangeListener non Javadoc see android a
  • IdentityServer - AD 用于身份验证,其余部分在 DB 中

    我已经设置了一个已启动并运行的基本 IdentityServer 我使用 Identity Manager 和 Identity Admin 将所有内容 用户 角色 声明 客户端 范围 保存在数据库中 下一步是将身份验证与 AD 集成 我的
  • Tensorflow 计算图像中的对象[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 机器学习新手 因此正在寻找如何入门的方向 最终目标是能够使用 Tensorflow 训练模型来计算图像中的对象数量 我最初的重点是训练
  • 使用 psql 时获取错误代码

    当我使用 psql exe 运行 SQL 脚本时 发生错误时没有收到错误代码 有什么方法可以获取 psql 错误代码吗 我尝试将 VERBOSITY 设置为 详细 如下所示 但没有用 set VERBOSITY verbose 我正在使用
  • SecurityTokenInvalidAudienceException:IDX10214:受众验证失败

    我正在使用 Identity 和 Sustainsys Saml2 用于 SAML 身份验证 开发 ASP NET Core 2 应用程序 我已在 Startup cs 文件中进行了必要的配置 现在 当我运行该项目并尝试使用 SAML2 登
  • 如何在 C# 中获取当前用户的 Active Directory 详细信息

    我正在开发一个使用 Windows 身份验证的 C 和 ASP Net 应用程序 即在 Web config 中