【问题标题】:Mixing Windows Authentication with Forms Authentication将 Windows 身份验证与表单身份验证混合使用
【发布时间】:2011-03-12 05:21:00
【问题描述】:

考虑一个用于 Intranet 的站点,该站点也应该可以从 Internet 访问。在 Intranet 上您希望使用 Windows 身份验证,在 Internet 上您希望用户使用表单身份验证访问网站。

是否可以设置这两者的混合模式?我只想验证用户是否使用其中任何一个登录而不使用两个站点。

【问题讨论】:

    标签: asp.net asp.net-membership


    【解决方案1】:

    您可能想查看类似的问题:mixed mode authentication against AD and fallback to the database if it fail with Membership providers

    在答案中,我提出了一个使用外观的解决方案。我利用这种方法在多个域、aspnet sql 提供程序和旧式身份验证数据库上集成了 AD,并取得了可观的成功。

    【讨论】:

      【解决方案2】:

      我不知道这样做的内置方式。但是您可以使用一个简单的解决方法:

      选择表单身份验证作为您的主要身份验证并将 Windows 身份验证映射到它。您可以使用 global.asax 或特殊的 http 处理程序或模块在应用程序 AuthenticateRequest 中执行此操作。在此请求中识别您的 Intranet 用户,并以编程方式使用 FormsAuthentication.SetAuthCookie 设置表单身份验证 cookie。

      我实际上将它用于混合模式表单和 IP 号码身份验证,但我认为它也适用于表单和 Windows 身份验证。

      顺便说一句:也许混合模式表单和 IP 号码身份验证是解决您问题的第二种解决方案。如果您的服务器是 DMZ 的一部分,您可以通过 IP 号子网检测您的 Intranet 用户。

      【讨论】:

        【解决方案3】:

        嘿,我看到这个页面谈论 IIS7 的 2 级身份验证:IIS 7.0 Two-Level Authentication with Forms Authentication and Windows Authentication,而另一个与你有相同要求的页面:ASP.NET 应用程序的 IIS 混合模式身份验证 -http://beaucrawford.net/post/IIS-ldquo3bmixed-moderdquo3b-authentication-for-ASPNET-Application.aspx,但我没有什么都不要尝试,也许它对你有用?我想你只需要根据你的需要调整它。

        【讨论】:

        • 链接的解决方案看起来很彻底,但确实需要完全信任或 gacced 提供程序程序集。
        猜你喜欢
        • 2011-01-16
        • 2020-06-21
        • 2012-03-15
        • 2015-07-18
        • 2016-12-24
        • 2013-10-30
        • 1970-01-01
        • 2013-01-04
        • 1970-01-01
        相关资源
        最近更新 更多