asp.net-mvc-4 - 在 MVC4 中使用时 AUTH_USER 返回空白

标签 asp.net-mvc-4 ldap

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

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

当我在 ASP 应用程序的代码隐藏中使用它时,它仍然工作正常。 但是,当我在 MVC4 应用程序 中使用相同的代码时,它返回我空白

我正在运行我的项目作为使用本地 IIS Web 服务器 和我的 web.config -

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

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

最佳答案

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

Hosting on IIS Express:

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

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

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

Hosting on IIS 7 or later:

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

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

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

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

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

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

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

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

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

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

Source:- readme.txt of MVC Intranet Application

关于asp.net-mvc-4 - 在 MVC4 中使用时 AUTH_USER 返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18848331/

相关文章:

c# - 指定布局时 MVC Controller 操作被调用多次

asp.net-mvc-4 - mvc 4 windows Azure Request.Url 中的端口号错误

ruby-on-rails - Ruby 验证安全 ldap 服务器的证书

grails - 如何在 Grails 上使用 LDAP 插件?

authentication - SASL LDAP 身份验证失败

c# - 为什么 Microsoft 从 MVC 4 RC 的模板中删除了基于 Ajax 的登录和注册工作流?

c# - 如何将此 JSON 反序列化为 C# 对象?

Spring LDAP + @Entry + 基本属性 - 不工作

java - 什么是好的嵌入式 Java LDAP 服务器?

c# - 如何建立这种 EF 关系?