【问题标题】:AUTH_USER is returning blank when using in MVC4在 MVC4 中使用时,AUTH_USER 返回空白
【发布时间】:2023-03-11 19:43:01
【问题描述】:

我记得,我曾经使用以下代码获取登录用户 ID(用于 Intranet 应用程序):-

string WindowsLoginID= System.Web.HttpContext.Current.Request.ServerVariables["AUTH_USER"];// This is blank

当我在 ASP 应用程序的代码中使用它时,它仍然可以正常工作。 但是当我在MVC4 Application 中使用相同的代码时,它会返回给我blank

我正在以Use Local IIS Web Server 的身份运行我的项目,并且我的 web.config 我有-

<authentication mode="Windows">
</authentication>

如果我在做一些愚蠢的事情,请告诉我。

【问题讨论】:

标签: asp.net-mvc-4 ldap


【解决方案1】:

我缺少一些配置,我创建了一个新的 MVC Intranet 应用程序并进行了如下设置更改:-

在 IIS Express 上托管:

  1. 在解决方案资源管理器中单击您的项目以选择该项目。
  2. 如果“属性”窗格未打开,请将其打开 (F4)。
  3. 在项目的“属性”窗格中:

    a) 将“匿名身份验证”设置为“禁用”。

    b) 将“Windows 身份验证”设置为“启用”。

在 IIS 7 或更高版本上托管:

  1. 打开 IIS 管理器并导航到您的网站。
  2. 在功能视图中,双击身份验证。
  3. 在身份验证页面上,选择 Windows 身份验证。如果 Windows 身份验证不是一个选项,您需要确保 Windows 身份验证 已安装在服务器上。

    在 Windows 上启用 Windows 身份验证:

    a) 在控制面板中打开“程序和功能”。

    b) 选择“打开或关闭 Windows 功能”。

    c) 导航到 Internet 信息服务 > 万维网服务 > 安全 并确保选中 Windows 身份验证节点。

    在 Windows Server 上启用 Windows 身份验证:

    a) 在服务器管理器中,选择 Web 服务器 (IIS) 并单击添加角色服务。

    b) 导航到 Web 服务器 > 安全 并确保选中 Windows 身份验证节点。

  4. 在“操作”窗格中,单击启用以使用 Windows 身份验证。

  5. 在身份验证页面上,选择匿名身份验证。
  6. 在“操作”窗格中,单击“禁用”以禁用匿名身份验证。

来源:- MVC Intranet Application的readme.txt

【讨论】:

    【解决方案2】:

    在您的项目的Properties pane 中:

    a) 将"Anonymous Authentication" 设置为“已禁用”。

    b) 将"Windows Authentication" 设置为“启用”。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2012-08-19
      • 2022-01-04
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      相关资源
      最近更新 更多