在 IIS 中托管后未获取用户名 :: ldap C# 但在本地主机中工作正常

本文关键字:主机 工作 IIS 用户 获取 ldap | 更新日期: 2023-09-27 18:29:12

下面是我获取用户名的代码。

string user = Request.LogonUserIdentity.Name;
            user = user.Substring(user.Length - 7, 7);
           // lblusername.Text = user;
            DirectorySearcher dssearch = new DirectorySearcher();
            dssearch.Filter = "(sAMAccountName=" + user + ")";
            SearchResult sresult = dssearch.FindOne();
            if (sresult != null)
            {
                 DirectoryEntry dsresult = new DirectoryEntry("LDAP://DC=somename,DC=com");
                 dsresult = sresult.GetDirectoryEntry();
                 lblusername.Text = dsresult.Properties["displayName"][0].ToString();
            }

IIS 具有 Windows 身份验证模式。也在 Web Conbiq 中定义

在 IIS 中托管后未获取用户名 :: ldap C# 但在本地主机中工作正常

确保在 IIS 上为该网站禁用"匿名访问"。

要验证这一点,请执行以下步骤:

  1. 打开 IIS
  2. 从 IIS 左侧区域显示的"站点"部分选择您的站点
  3. 双击"IIS"部分下的"身份验证"选项
  4. 应禁用"匿名访问"的状态。如果为"已启用",则将其更改为"已禁用">

这应该有效。

花了一天时间后,我通过删除默认的窗口保存凭据来解决它。

相关文章: