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