建立综合安全,ii6

时间:2011-02-16 15:48:08

标签: asp.net vb.net iis-6

到目前为止

我已将我的网站变成了一个应用程序。

我在IIS6上禁用匿名

<authentication mode="Windows"/>
        <identity impersonate="true"/>

在我的webconfig中

我正在使用两者

HttpContext.Current.User.Identity.Name 
Request.LogonUserIdentity.Name.ToString

以检索用户名。

问题是我被提示登录,我不希望用户必须登录,因为这是一个内部网。

1 个答案:

答案 0 :(得分:0)

很多因素都会导致提示登录。以下所有项目均假定您使用具有Active Directory身份验证的公司Intranet站点。

  1. 用户必须使用IE进行身份验证才能正常工作。 FF,Chrome等根本无法通过Windows登录凭据。
  2. IE访问的URL必须是内部Intranet页面。由于安全问题IE浏览器不会将凭据传递给mysite.com,因为它被视为外部网页而在内联网上没有。
  3. 如果域名中有一段用于访问Web服务器(intranet.ourcompany)或类似IE的东西(大部分时间)将该句点视为外部资源而不传递凭据。根据我的经验,此时会出现断断续续的情况,即使将网站添加到受信任的网站也会产生不同的结果。
  4. 您尝试访问的URL必须在IE安全设置中设置为可信站点,否则IE将无法通过凭据。
  5. 在可信站点的IE安全设置(自定义级别)中,有一个用户身份验证/登录部分(这取决于您运行的IE版本)。此设置应设置为“使用当前用户名和密码自动登录。”这些设置适用于IE 8. IE 6/7通常不需要此设置,如果其他一切都已设置。
  6. 在IIS中,确保为身份验证下的网站启用了Windows身份验证(假设IIS 7+)。在IIS 6中,您必须打开“集成Windows身份验证”和“Windows域服务器的摘要式身份验证”。还要确保将Realm设置为Active Directory域的FQDN并禁用匿名访问。
  7. 您希望通过组策略推送给用户的IE设置。

    当您的Intranet网址看起来像http://internalname(无论您想要什么名称),没有句点,.com或FQDN等时,我发现效果最佳。