我正尝试在AD /域控制器的客户端网络中部署应用程序。Windows身份验证提示输入用户名/密码
我的应用程序是一个简单的asp.net c#应用程序,使用Windows身份验证。
我正在使用win2003。
基本上,使用VS2008,创建一个新的网站,托管在IIS6.0上。 只有2个变化。 1.在应用程序的IIS目录安全性上启用“集成安全性”。
注意:匿名也被启用。
只生成一个骨架代码的变化。 下面添加到的Default.aspx的Page_Load方法
using System.Security.Principal;
...
protected void Page_Load(object sender, EventArgs e)
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
Response.Write("<B>Windows Identity Check</B><br>");
Response.Write("Name: " + id.Name + "<br>");
Response.Write("<BR>");
Response.Write("User.Identity: " + User.Identity.Name);
Response.Write("<BR>");
}
浏览页面的输出: Windows身份验证检查 - 名称: NT AUTHORITY \ NETWORK SERVICE User.Identity:
User.Identity.Name不输出当前用户名。
我加入讨论:
<authorization>
<deny users="?"/>
</authorization>
从我userstand的是,这是增加的时候,我可以从User.Identity.Name获取当前用户,用户名。
但是,一旦我添加了上述内容,浏览器现在会提示我输入用户名和密码。一旦我输入它,我就可以使用User.Identity.Name来获取用户名。但是我不希望弹出的用户名/密码出现。我希望应用程序根据其网络凭据对用户进行身份验证。
我错过了什么吗?
你与测试什么浏览器?只有IE才能通过Windows用户名/密码认证。 – 2009-03-03 01:11:17
这不一定正确 - FireFox支持Windows集成身份验证。 – 2009-03-03 04:36:21
是的,火狐浏览器没有问题,它只是不会像IE那样将本地主机名视为受信任/内联网区域 - 但它确实可以配置为。甚至有一个现有的ADM模板用于FF我认为懒惰的系统管理员可以使用。 – 2009-03-22 20:51:34