我有一個在SharePoint中託管的Web服務。正在從SharePoint頁面調用WebService。當調用服務時,它使用linq並查詢數據庫。當我的本地機器發生這種情況時,一切都很順利。當遠程計算機上執行我的錯誤:當使用Linq to SQL時,用戶'NT AUTHORITY ANONYMOUS LOGON'登錄失敗
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
有沒有辦法,我可以冒充正在使用的LINQ呼叫的用戶的方法嗎?
我有一個在SharePoint中託管的Web服務。正在從SharePoint頁面調用WebService。當調用服務時,它使用linq並查詢數據庫。當我的本地機器發生這種情況時,一切都很順利。當遠程計算機上執行我的錯誤:當使用Linq to SQL時,用戶'NT AUTHORITY ANONYMOUS LOGON'登錄失敗
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
有沒有辦法,我可以冒充正在使用的LINQ呼叫的用戶的方法嗎?
可能是你的連接字符串如下所示:
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=;
的NT AUTHORITY\*
賬戶是該機的具體,因此,如果數據庫是在不同的機器上的Web服務,那麼你可以不使用它作爲SQL登錄,您將必須設置可在整個網絡中使用的用戶帳戶,或者使用SQL身份驗證。