考虑一个用于内部网络的站点,也应该可以从互联网访问。在内部网络中,您想要使用Windows身份验证,在互联网上,您希望用户使用表单身份验证访问该站点。
这两种身份验证方式能否混合使用?我只想验证用户是否已通过其中一种方式登录,而不使用两个站点。
这两种身份验证方式能否混合使用?我只想验证用户是否已通过其中一种方式登录,而不使用两个站点。
在答案中,我提出了一种使用门面的解决方案。 我已经成功地利用这种方法将多个域上的AD,aspnet sql提供程序和传统的身份验证数据库整合起来。
我不知道有内置的方法可以做到这一点。但您可以使用一个简单的解决方法:
选择表单身份验证作为您的主要身份验证,并将Windows身份验证映射到它。您可以在应用程序的AuthenticateRequest中使用global.asax或特殊的http处理程序或模块来完成此操作。在此请求中识别您的Intranet用户,并使用FormsAuthentication.SetAuthCookie以编程方式设置表单身份验证cookie。
实际上,我将其用于混合模式表单和IP号码身份验证,但我认为它也适用于表单和Windows身份验证。
顺便说一下:也许混合模式表单和IP号码身份验证是您问题的第二个解决方案。如果您的服务器是DMZ的一部分,则可以通过IP号码子网检测您的Intranet用户。
嗨,我看到了这个页面,它讲述了使用IIS7进行两级身份验证:IIS 7.0 Two-Level Authentication with Forms Authentication and Windows Authentication,还有另一个与您的要求相同的页面:IIS混合模式身份验证用于ASP.NET应用程序-http://beaucrawford.net/post/IIS-ldquo3bmixed-moderdquo3b-authentication-for-ASPNET-Application.aspx,但我没有尝试过,也许对您有用?我想您只需要根据自己的需求进行适当的调整。