我有一个使用表单身份验证的 ASP.NET MVC 1.0 应用程序。我们使用的是 Windows Server 2008。我需要锁定站点,以便只有某些用户(在 AD 组中)可以访问该站点。但不幸的是,当我将站点设置为不允许匿名用户并使用 Windows 身份验证时,由于站点和 IIS 的集成,它会显示用户已以其域帐户登录,而不是允许他们通过 Forms Auth 登录。
因此,我需要混合模式身份验证。我需要该网站只能通过 Windows 身份验证访问,无需匿名用户,但一旦您进入,它就只需要使用表单身份验证。我该如何正确地做到这一点?
答案1
您应该禁用 Windows 集成身份验证,并使用 IIS 的提供程序功能和“AD 角色提供程序”。这里提供了一个示例:
答案2
我还没有测试过,但我今晚会测试,然后今晚再回复你。你可以将你的 MVC 应用设置为表单身份验证,就像你现在所做的那样。但在 IIS7 下,单击站点(在站点文件夹下)并选择身份验证,将匿名身份验证设置为禁用,将 Windows 身份验证设置为启用。然后,右键单击你的网站并选择编辑权限。然后单击安全选项卡,以及你想要访问该站点的 AD 组。
编辑:另外,请检查一下,因为它看起来对您正在做的事情很有帮助:http://learn.iis.net/page.aspx/142/understanding-iis-70-url-authorization/