【问题标题】:How do I allow anonymous access to my IIS site, but use Windows Authentication to connect to SQL Server?如何允许匿名访问我的 IIS 站点,但使用 Windows 身份验证连接到 SQL Server?
【发布时间】:2011-06-04 09:07:58
【问题描述】:

我想做的是:

  • 允许匿名用户访问我的 ASP .NET 站点。
  • 对站点使用 Windows 身份验证来访问 Sql Server。它将使用专门为该站点预留的域帐户登录 Sql Server(并且最好在同一帐户下执行所有操作)。

网络上的每一篇文章都告诉你这样做:

<authentication mode="Windows"/>
<identity impersonate="true"/>

在 Web.config 中。但是,如果您希望用户使用 Windows 身份验证登录,我认为这只是。它与服务器登录SQL Server无关(除了以上2的组合意味着用户的身份验证也将用于连接数据库)。它是否正确?鉴于我的 Windows 帐户可以访问服务器上的文件和站点连接的数据库,这似乎很难测试....

如果我:

  • 将 App Pool Identity 设置为域帐户
  • 使用域帐户在网站上启用匿名访问
  • 在 Windows 身份验证中使用连接字符串

然后该站点将通过 Windows 身份验证连接到 SQL Server。此外,只要模拟关闭,它将使用域帐户。这是正确的吗?

【问题讨论】:

    标签: asp.net windows-authentication


    【解决方案1】:

    在 Web.config 中。但是,我收集到 仅当您希望用户登录时 在 Windows 身份验证中。它有 与服务器日志无关 在 SQL Server 中

    这是部分正确的。如果委派设置正确,模拟帐户将用于登录 SQL Server。您没有看到这一点,因为在大多数环境中,需要明确设置委托。委派是一种更强大的模拟形式,它使服务器进程(在您的情况下为 IIS 进程)可以在充当客户端时访问远程资源(在您的情况下为 SQL 服务器)。有关更多信息,您可以 google ASP.NET 委派。我说它部分正确,因为在一些简单的环境中,您甚至不需要任何特殊配置。代表团只是在工作。例如,如果您的 SQL 服务器与 IIS 服务器在同一台机器上运行。另一种情况是您的 IIS 服务器在 Active Directory 域控制器上运行(非常罕见)。在这两种情况下或在正确配置了委派的机器上,您的上述陈述将是错误的。

    如果我:

    • 将应用程序池标识设置为 域帐号
    • 启用匿名 使用域访问网站 帐号
    • 使用连接字符串 Windows 身份验证

    然后是网站 将通过 Windows 连接到 SQL Server 验证。此外,它将使用 域帐户只要 模拟已关闭。这是正确的吗?

    是的,这是正确的。

    鉴于我的 Windows 帐户拥有 访问服务器上的文件和 该站点正在连接的数据库 to,这似乎很难测试....

    如果您有两个域帐户(或一个域帐户和一个本地帐户),则很容易测试。设置应用程序池标识以使用您的 DomainAccount1。 授予 DomainAccount1 以有权访问您的数据库。使用另一个帐户(域帐户或本地帐户)访问另一台计算机上的 Web 应用程序。测试 Web 应用是否可以正确访问您的数据库。

    【讨论】:

      【解决方案2】:

      如果我没听错,你是对的;你确实想使用模拟/身份验证来做你想做的事。适当设置应用程序池标识,并确保用户帐户对 SQL Server 具有适当的访问权限。

      【讨论】:

        【解决方案3】:

        您可以创建一个单独的 Sql 登录名,即用户名/密码,而不是使用 Windows 帐户,并在连接字符串中使用它。

        【讨论】:

        • 确实可以。然而,我的目标之一是使用 Windows 身份验证来访问 Sql Server 数据库。
        • 好的,那么在这种情况下是的,您必须在自定义帐户下运行应用程序池并相应地设置权限。在此处检查第 3 步(使用自定义服务帐户):msdn.microsoft.com/en-us/library/…
        猜你喜欢
        • 2012-07-14
        • 2020-07-01
        • 1970-01-01
        • 2019-09-16
        • 2013-09-07
        • 2023-04-09
        • 1970-01-01
        • 2018-04-30
        相关资源
        最近更新 更多