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 Id
和Password
,然后将Trusted_Connection
设置为True
,所以我猜想使用了集成身份验证-删除Trusted_Connection=True
部分。
【讨论】:
以上是关于Sharepoint Web 部件的主要内容,如果未能解决你的问题,请参考以下文章
SharePoint Survey WebPart 调查 Web部件