【问题标题】:Windows authentication for Intranet/InternetIntranet/Internet 的 Windows 身份验证
【发布时间】:2010-10-13 16:26:56
【问题描述】:

我正在为我的公司开发一个 ASP.net Web 应用程序。有些用户在内部网络(Intranet)中使用该站点,有些用户使用 Internet 站点。我正在使用 Windows 身份验证模式。

我需要找到一种方法来不提示 Intranet 用户的Windows 身份验证模式和提示 Internet 用户的Windows 身份验证模式。

我该怎么做?

【问题讨论】:

    标签: asp.net authentication windows-authentication intranet


    【解决方案1】:

    根据您的描述,IIS 中的 Windows 身份验证可以解决问题。

    首先是一些链接:

    但请注意以下几点:

    如果满足以下所有条件,将发生单点登录 (SSO)(即在不提供用户名和密码的情况下访问应用程序):

    • 客户端计算机和服务器属于同一个 Active Directory 域。
    • 客户端计算机上的用户会话是来自 AD 域的用户。
    • 客户端计算机可以访问域服务器(即负责用户登录的服务器)
    • 浏览器是 Internet Explorer。
    • 使用的 URL 指向服务器的 FQDN(即 http://SERVERNAME.DOMAIN.NAME/ 不仅仅是 http://SERVERNAME/
    • 如果您使用模拟,授权用户必须对应用程序目录具有读取权限。该应用程序将基本上使用他们的凭据运行。 (更多详情见MSDN article)

    在任何其他情况下,系统都会提示用户输入 Active Directory 域中帐户的凭据(用户名和密码)。因此,从 Internet 访问您的网络服务器的用户会收到一个弹出窗口,要求他们提供用户名和密码。

    请注意,对于不使用单点登录的用户(提示用户输入用户名和密码),HTTP 身份验证模式很可能是 BASIC,这意味着任何可以拦截该连接的人都可以看到正在交换的用户名和密码.如果您采用这种技术,请确保客户端和服务器之间的连接是加密的(HTTPS 或者可能是 VPN)。

    【讨论】:

    • 以下链接表明 Window Integrated Authentication 不会将 BASIC 与 IE 一起使用,而是回退到 NTLM。 aniltj.com/blog/… NTLM 跨 HTTP 是否安全?非 IE 浏览器也是如此吗?
    • 所有主流浏览器都支持 NTLM。我建议您对任何经过身份验证的内容强制使用 HTTPS,即使使用 NTLM。
    • Technet 文章(此处为 IIS 中的 Windows 身份验证)不再可用。有镜子吗?
    【解决方案2】:

    确保您的网络服务器在域上运行,并且您的所有 Intranet 用户都具有对 Web 服务器上包含您的网站的文件夹的读取权限。

    然后,确保你的 web.config 中有(假设你想检测哪个域用户正在访问你的网站。

    最后,打开 IIS 管理器并右键单击该网站并选择“属性”。从那里单击“目录安全”选项卡,然后单击“身份验证和访问控制”的“编辑”。取消选中“匿名访问”并确保选中“集成 Windows 身份验证”。这应该会使网站按预期运行(假设您的 Intranet 客户端使用 IE)

    【讨论】:

      【解决方案3】:

      据我所知,Windows 身份验证只能用于 Intranet,但您也可以包含表单身份验证来对 Internet 用户进行身份验证。 This page 有一些信息和有关如何执行此操作的教程的链接。

      【讨论】:

        【解决方案4】:

        我可能会将应用程序部署在两个不同的服务器上。防火墙内的服务器上的 Windows 身份验证,Windows 身份验证用户可以访问和使用该服务器。在公众面前,您将 Web 配置设置为使用表单身份验证,然后担心保护与后端的连接。

        但是,如果您想为此使用单个服务器,您可能需要阅读这篇 MSDN 文章:Mixing Forms and Windows Security in ASP.NET

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-17
          • 1970-01-01
          • 2012-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多