关于>用户登录失败'(null)'。原因:与受信任的SQL Server连接无关

时间:2012-04-12 17:08:49

标签: sql-server-2005 iis-7 login connection-string trusted

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

用户:DOMDEV \ MyName pwd: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请求页面时,我收到以下错误: 用户'(null)'登录失败。原因:与受信任的SQL Server连接无关。

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

如何/如何配置W2K8让IIS 7像我的设备上的IIS一样工作?

谢谢。

2 个答案:

答案 0 :(得分:0)

我使用IIS 7设置,发现以下配置运行良好。

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

  1. 打开开始>管理工具>计算机管理
  2. 消费计算机管理(本地)>本地用户和群组>用户
  3. 使用您喜欢的名称添加新用户(例如yourNewUser; pwd:987poi!@)
  4. 在本地(BUILD-IN)管理员组
  5. 中添加新用户
  6. 无需在设置为Windows身份验证模式的数据库上设置任何内容
  7. 第二部分:在Web服务器上创建本地用户

    1. 打开开始>管理工具>服务器管理器
    2. 消耗左侧导航服务器管理器(yourServerName)>配置>本地用户和群组>用户
    3. 使用您在数据库服务器上执行的缩进信息添加新用户
    4. 无需额外设置/权限/组(最低权限)。默认情况下,它仅在“用户”
    5. 第III部分:添加.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文件夹,确保新用户具有该文件夹的写入权限
      3. 第IV部分:选项1:配置Web服务器

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

          • 匿名身份验证 - 已启用 - 应用程序池标识
          • ASP.NET模拟 - 已启用 - 特定用户:yourNewUser(987poi!@)
          • 禁用其余部分
        6. 每次发布​​网络应用时,都需要仔细检查设置是否仍然存在
        7. 第四部分:选项2:设置web.config文件

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

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

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

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

            此解决方案也适用于Windows Server 2003 w / IIS6 with .net4

答案 1 :(得分:0)

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

尝试以下步骤..

在服务器计算机中设置Guest帐户“已开启” 在Security>下添加新登录'servername \ guest'登录Sql Server 相应地将此登录添加到数据库 提供所需的权限

问候

Harris P Nair