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

Shu*_*ubh 5 ldap asp.net-mvc-4

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

string WindowsLoginID= System.Web.HttpContext.Current.Request.ServerVariables["AUTH_USER"];// This is blank
Run Code Online (Sandbox Code Playgroud)

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

我正在运行我的项目Use Local IIS Web Server和我的web.config我 -

<authentication mode="Windows">
</authentication>
Run Code Online (Sandbox Code Playgroud)

请让我知道,如果我做一些愚蠢的事情.

Shu*_*ubh 8

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

在IIS Express上托管:

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

    a)将"匿名身份验证"设置为"已禁用".

    b)将"Windows身份验证"设置为"已启用".

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

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

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

    a)在控制面板中打开"程序和功能".

    b)选择"打开或关闭Windows功能".

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

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

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

    b)导航到Web Server> Security并确保选中Windows身份验证节点.

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

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

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


小智 6

Properties pane您的项目中:

a)设置"Anonymous Authentication"为"已禁用".

b)设置"Windows Authentication"为"启用".

希望能帮助到你!