2012-01-24 55 views
1

我有一個在SharePoint中託管的Web服務。正在從SharePoint頁面調用WebService。當調用服務時,它使用linq並查詢數據庫。當我的本地機器發生這種情況時,一切都很順利。當遠程計算機上執行我的錯誤:當使用Linq to SQL時,用戶'NT AUTHORITY ANONYMOUS LOGON'登錄失敗

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'

有沒有辦法,我可以冒充正在使用的LINQ呼叫的用戶的方法嗎?

回答

2

可能是你的連接字符串如下所示:

Data Source=.;Initial Catalog=DATABASE_NAME;Integrated Security=True; 

如果是這樣的LINQ to SQL將使用應用程序池的用戶。 因此,您可以授予NT AUTHORITY \ ANONYMOUS LOGON權限,以便能夠訪問數據庫或更改應用程序池的用戶。

但是你可以考慮使用SQL Server身份驗證:

Server=.;Initial Catalog=DATABASE_NAME;Integrated Security=False;User Id=sa;Password=; 
0

NT AUTHORITY\*賬戶是該機的具體,因此,如果數據庫是在不同的機器上的Web服務,那麼你可以不使用它作爲SQL登錄,您將必須設置可在整個網絡中使用的用戶帳戶,或者使用SQL身份驗證。

相關問題