0

我在我的工作站上的 VS2010 中开发的 .net 4.0 下的 C# 中有一个 aspx 页面,该页面位于一个名为“DOMDEV”的域中,试图在独立的 W2K3 Std Edition SP2 上访问 MS-SQL Server 2000 DE。我的域凭据是

用户:DOMDEV\MyName 密码:p@ssword

MS-SQL Server 2K DE 的安全设置为 Windows 身份验证模式,由于公司规定不能更改为混合模式。

我的连接字符串在 aspx 的 web.config 文件中如下所示: Data Source=standAlone.myCompany.com\SQL01;Initial Catalog=db_001;Integrated Security=SSPI;

当我在工作站上的 VS2010 中执行 Ctrl-F5 时,页面执行良好并从独立服务器中提取所有数据。

当我将页面发布到 Window Server 2K8 Enterprise 并尝试通过我的 IE 9 请求页面时,我收到以下错误:用户“(空)”登录失败。原因:未与受信任的 SQL Server 连接关联。

为什么它可以在我的设备上运行而无需设置任何东西,但在 W2K8 上却不行?从我的 VS IIS 发送的安全信息与 W2K8 的 IIS7 有什么不同?W2K8 IIS7 上的网站设置为启用 Windows 身份验证启用匿名身份验证:应用程序池标识

如何/我可以做些什么来配置 W2K8 以让 IIS 7 像我的设备上的 IIS 一样工作?

谢谢你。

4

2 回答 2

0

我正在与这个错误作斗争..终于我找到了解决方案......现在一切正常..

尝试以下步骤..

在服务器机器中设置访客帐户“已打开” 在 Sql Server 中的安全 > 登录下添加新登录名“服务器名\访客” 相应地将此登录名添加到数据库中 授予所需权限

问候

哈里斯·P·奈尔

于 2013-04-24T08:25:39.277 回答
0

我尝试了 IIS 7 设置,发现以下配置效果很好。

第一部分:在数据库服务器上创建本地用户

  1. 打开开始 > 管理工具 > 计算机管理
  2. 展开计算机管理(本地)> 本地用户和组> 用户
  3. 添加一个您喜欢的名称的新用户(例如 yourNewUser; pwd: 987poi!@)
  4. 在本地(BUILD-IN)管理员组中添加新用户
  5. 无需在设置为 Windows 身份验证模式的数据库上设置任何内容

第二部分:在 Web 服务器上创建本地用户

  1. 打开开始 > 管理工具 > 服务器管理器
  2. 展开左侧导航 Server Manager (yourServerName) > Configuration > Local Users and Groups > Users
  3. 添加一个具有您刚刚在数据库服务器上所做的相同信息的新用户
  4. 不需要额外的设置/权限/组(最低权限)。默认情况下,它仅在“用户”中

第三部分:向 .NET 临时文件夹添加权限

  1. 32 位:转到您的 X:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 文件夹,确保新用户对该文件夹具有写入权限
  2. 64 位:转到您的 X:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files 文件夹,确保新用户对该文件夹具有写入权限

第 IV 部分:选项 1:配置 Web 服务器

  1. 打开开始 > 管理工具 > 服务器管理器
  2. 展开左侧导航 Server Manager (yourServerName) > Roles > Web Server (IIS) > Internet Information Services (IIS) Manager
  3. 在 Internet 信息服务 (IIS) 管理器的导航(左中)中,单击您的 Web 应用程序
  4. 在 IIS 部分中,双击“身份验证”图标
  5. Authenticaiton 窗格中有 6 个设置。通过单击设置的名称,您将能够在右侧的“操作”窗格中启用/禁用/编辑它们。将它们设置如下:

    • 匿名身份验证 - 已启用 - 应用程序池标识
    • ASP.NET 模拟 - 已启用 - 特定用户:yourNewUser (987poi!@)
    • 禁用其余的
  6. 每次发布 Web 应用程序时,都需要仔细检查设置是否仍然存在

第 IV 部分:选项 2:设置 web.config 文件

  1. 转到您正在发布的 Web 应用程序的 web.config 文件,确保您的 system.web 块中有以下行

    <identity impersonate="true" password="987poi!@" userName="yourNewUser" />

  2. 此选项不适用于本地工作站的 IIS(至少它不适用于我的。)

现在来自用户工作站的请求,页面将提供所需的数据。

此解决方案也适用于带有 .net4 的带有 IIS6 的 Windows Server 2003

于 2012-04-13T17:11:50.613 回答