在MVC4中使用时,AUTH_USER返回空白

时间:2013-09-17 11:12:50

标签: asp.net-mvc-4 ldap

我记得,我曾经使用以下代码获取登录用户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>

请让我知道,如果我做的事情很傻。

2 个答案:

答案 0 :(得分:8)

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

  

在IIS Express上托管:

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

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

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

  4.   

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

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

      在Windows上启用Windows身份验证:

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

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

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

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

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

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

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

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

      来源: - MVC Intranet应用程序的readme.txt

答案 1 :(得分:6)

在项目的Properties pane中:

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

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

希望它有所帮助!