WindowsAuthenticationModule 提供程序使用 IIS 所支持的任何一种机制,依赖 Internet 信息服务 (IIS) 提供已通过身份验证的用户。如果想要以最少的 ASP.NET 代码来保护站点安全,那么这就是应该使用的提供程序配置。提供程序模块构建了 WindowsIdentity 对象。其默认实现构建了 WindowsPrincipal 对象并将其附加在应用程序的上下文中。WindowsPrincipal 对象将标识映射到 Windows 组中。
如果使用 IIS 身份验证,则提供程序模块将使用从 IIS 传递进来的已通过身份验证的标识。IIS 通过使用基本身份验证、摘要式身份验证、集成 Windows 身份验证或它们的组合来验证标识。可以使用模拟和 NTFS ACL 权限限制或允许对受保护资源的访问。
使用 WindowsAuthenticationModule 提供程序的一个重要原因是要实现一种模拟方案,该方案在将请求传递给 ASP.NET 应用程序前,能够使用可能已被 IIS 执行的任何验证方法。为此,请将身份验证模式设置为 Windows,并确认将 impersonate 元素设置为
<authentication mode="Windows"/>
<identity impersonate="true"/>
请注意配置 ASP.NET 应用程序不会影响 IIS 目录安全设置。系统之间完全独立并按顺序应用。除了选择 ASP.NET 应用程序的身份验证模式,正确地配置 IIS 身份验证也很重要。
接下来,必须设置 NTFS ACL 只允许适当的标识进行访问。