Sharepoint Web 部件

Posted

技术标签:

【中文标题】Sharepoint Web 部件【英文标题】:Sharepoint Webpart 【发布时间】: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 有效。非常感谢。 【参考方案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 部分。

【讨论】:

以上是关于Sharepoint Web 部件的主要内容,如果未能解决你的问题,请参考以下文章

SharePoint 2010 Web 部件部署错误

在 sharepoint 中连接 Web 部件

SharePoint Survey WebPart 调查 Web部件

Sharepoint:Web 部件与 ASP.NET 用户控制

停用 Sharepoint 中的 Web 部件功能

Sharepoint - Web 部件编辑上的事件