6

我想知道<authentication mode="windows">在 web.config 中设置的效果在不同版本的 IIS 中有何影响。

我相信在 IIS 5 中,它几乎没有影响,因为所有这些都是由 Web 服务器集成和控制的。

在 IIS 6 和 7 上,我相信我可以将 Web 服务器设置为匿名访问,然后每个托管的 Web 应用程序可以反过来通过设置模式来确定它是否要使用 Windows 身份验证。也就是说,web.config 控制了这些 IIS 版本中的 ASP.NET,并覆盖了服务器。

我正在寻找一份白皮书或某种类型的参考资料,以支持这一点,而不仅仅是我的观察经验

4

2 回答 2

0

据我所知,在安全性方面,5 和 6 之间几乎没有变化。然而,IIS 7 是一次重大改革,与 IIS 6 有很大不同(但是,IIS 7 允许您在“兼容”模式下运行,这样您的应用程序的行为方式几乎与它们在 IIS 5 和 6 下的行为方式完全相同)。

有几篇有用的文章可能会有所帮助:

于 2010-11-07T04:24:59.193 回答
0

IIS 5 也已过时(Windows XP 将在明年消亡)。尽管据我所知,您的理解并不正确,但讨论有关它的更多细节几乎没有什么价值。

该设置仅决定 ASP.NET 框架如何解释 IIS 传递的本机用户令牌(因为 IIS 使用其身份验证提供程序提前执行身份验证)。所以对于 IIS 6/7/8,当你在 ASP.NET 端设置这个时,你需要仔细检查 IIS 端对应的设置是什么。

例如,当 IIS 端使用匿名/(集成)Windows/Basic/Digest 身份验证时,不同类型的用户令牌将传递给 ASP.NET。

http://msdn.microsoft.com/en-us/library/907hb5w9(v=vs.100).aspx

因此,您对“我可以将 Web 服务器设置为匿名访问,然后每个托管的 Web 应用程序可以反过来通过设置模式来确定它是否要使用 Windows 身份验证”的理解是错误的。如果您打算使用 Windows 身份验证对客户端进行身份验证,则必须在 IIS 端和 ASP.NET 端进行设置。从 IIS 7 开始,IIS 管理器将这些设置放在同一个地方,但您仍然需要充分了解它们的区别和关系。

有关 ASP.NET 身份验证的更多信息,您可以参考http://msdn.microsoft.com/en-us/library/eeyk640h(v=vs.100).aspx

于 2013-04-09T07:29:20.993 回答