【问题标题】:Sharepoint WebpartSharepoint Web 部件
【发布时间】:2011-06-16 10:59:29
【问题描述】:

我创建了一个 webpart,它在我开发它的虚拟机上运行良好。

但是当我尝试在我的物理机器上运行相同的 webpart 时,我无法打开 SQL 连接,因为 SQL Server 在网络上是单独的框。

我的物理机、虚拟机和 SQL Box 在同一个网络上,但由于某种原因,它在我的物理机上不起作用,

它出现以下消息:用户'NT AUTHORITY\ANONYMOUS LOGON'登录失败

导致此问题的原因是什么?

【问题讨论】:

  • 如果您的物理机上安装了sql,请尝试连接到位于虚拟机上的数据库。
  • con.ConnectionString = "Server=" + _ipAddress + "; Database=" + _Database + "; Persist Security Info=True; User Id=username ;Password= password; Trusted_Connection=True";
  • 这对 Marek 有效。非常感谢。

标签: sharepoint web-parts


【解决方案1】:

您正在使用集成安全性,这意味着当前用户用于针对数据库服务进行身份验证。在生产服务器上,使用匿名用户执行 webpart 代码。并且(当然)该用户无权访问 Web 服务器文件以外的任何资源。

为避免这种行为,请使用使用 SQL-Server 安全性的专用帐户。请参阅此示例连接字符串:

connectionString="Data Source=SERVERHOSTNAME;Initial Catalog=YOURDATABASE;Persist Security Info=True;User ID=YOURUSER;Password=YOURPASSWORD";

确保从生产数据库管理员那里获得具有适当权限(例如 db_reader)的数据库的有效登录。

【讨论】:

    【解决方案2】:

    您指定了User IdPassword,然后将Trusted_Connection 设置为True,所以我猜想使用了集成身份验证-删除Trusted_Connection=True 部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2019-08-15
      • 2011-04-15
      • 2012-03-19
      • 2011-02-01
      • 2010-09-27
      相关资源
      最近更新 更多