403 FORBIDDEN在SQL Server数据源的SharePoint中出错

我通过使用SmartParts在我的SharePoint网站上创build了一些自定义WebParts。 我的自定义Web部件看看2差异。 SQL Server数据源。

  • 当我从Visual Studio 2008运行我的代码是作品100%
  • 当我在SharePoint页面上部署我的代码时,它从我的服务器运行时,它工作100%

但是,当我从我的本地PC访问SharePoint网站,我打那个自定义的Webpart我得到的错误,说“403 FORBIDDEN”。 现在我知道它的安全问题,但是在哪里,为什么? 为什么它在服务器上而不是从另一台PC上运行?

任何帮助将是伟大的!

编辑:

我的Web.config中的ConnectionString

<add name="DSN" connectionString="Data Source=TCP:us-support.a1.mydomain.com; Initial Catalog=myDB;Integrated Security=false;User ID=myID;Password=myPassword" providerName="System.Data.SqlClient" /> 

我能想到的主要有两个原因:

NTLM双跳问题

这可能是问题所在。 你是:

  • 在您的networking中使用Windows身份validation(NTLM)而不是Kerberos?
  • 使用模拟连接到数据库? (如果数据库连接string包含Integrated Security=SSPITrusted_Connection=True则为Trusted_Connection=True

那么你可能正面临着双跳问题 。 发生这种情况是因为ASP.NET仅将您的Windows凭据传递给一个服务器,而不是两个。 所以它将从您的本地PC到SharePoint服务器,但不会传递到数据库服务器。

我知道的唯一方法是避免这种情况(除非你想configurationKerberos)build立一个SQL帐户,并在你的连接string中使用它到数据库。

权限资源

Web部件正在访问您的本地PC帐户无权访问的资源。

对您认为会导致问题的Web部件执行某种日志logging,并将其缩小到特定代码行。 请注意,虽然这可能是数据库身份validation问题,但也可能是Web部件正在访问某些CSS文件或其他本地帐户无权访问的资源。