从Windows网络检索网络用户名

时间:2012-06-13 08:08:28

标签: c# asp.net .net iis-7 windows-authentication

请原谅我在这篇文章中的天真,因为我习惯在LAMP环境而不是Microsoft .NET环境中开发,所以我在这里有点不舒服。

我正在Windows网络上开发单页Intranet。用户通过活动目录Windows 2008服务器进行身份验证。我希望我的Intranet页面能够无缝地收集经过身份验证的用户的网络用户名,而无需再次输入凭据。我已经能够获得用户名,但只有在浏览器强制第二次登录后才能获得。

我正在运行IIS 7并已配置它以便:

Anonymous User is disabled
Integrated Windows Authentication is enabled

我的web.config文件包含以下文本:

<identity impersonate="false"/>
<authentication mode="Windows"/>
<authorization>
  <deny users="?"/>
</authorization>

我的C#代码如下:

public partial class AuthUser : System.Web.UI.Page {

  protected void Page_Init( object sender, EventArgs e ) {

    Response.Write(User.Identity.Name);

  } 
} 

所以我的问题是:

如何实施无缝身份验证,无需第二次身份验证即可收集登录用户的网络用户名?

1 个答案:

答案 0 :(得分:0)

使用Active Directory进行自动登录只能在IE中进行,可以将站点添加到可信站点(您做过),还可以更改IE中的设置&gt;&gt;互联网选项&gt;&gt; (选择可信站点)&gt;&gt;自定义级别:

User Authentication >> Logon >> Automatic logon with current user name and password.