我正在使用WCF服務(使用Fluent NH實施),它作爲Windows服務託管。具有集成安全性的WCF Nhibernate服務= True錯誤
我正在使用控制檯應用程序來測試調用服務方法。現在
,當我在hibernate.cfg.xml設置連接字符串作爲
<property name="connection.connection_string">Server=dev;Initial Catalog=DBTest;Integrated Security=True;</property>
它引發錯誤: SQLEXCEPTION:用戶登錄失敗
但是,如果我將連接字符串更改爲:
<property name="connection.connection_string">Server=dev;Initial Catalog=DBTest;User Id=twr;Password=manager1;</property>
它成功調用服務方法。
雖然所有的WCF服務庫,託管Windows服務和控制檯應用程序坐在我唯一的本地機器上,
誰能幫我理解爲什麼它不具有集成安全=真正的工作?
謝謝!
在您的Windows服務託管您的WCF運行在什麼帳戶下?這是試圖連接到SQL Server的用戶 - 該用戶可能不被允許這樣做。 – 2009-10-29 17:26:20
謝謝你的回覆。那麼,我不確定'什麼帳戶'。但是我對所有其他應用程序的Integrated Security = true一直在做。即使我單元測試的wcf serice方法(不通過Windows服務調用),它適用於集成安全性很好。當我在測試控制檯應用程序中通過Windows服務調用它時,纔會出現此錯誤。 – iniki 2009-10-29 17:31:17
是的,當然 - 如果您在Windows服務之外運行WCF服務,它將在您自己的用戶下運行 - 並且我假設您擁有必要的權限和所有權限。但是當你在Windows服務中運行某些東西時,你必須在Windows服務上定義哪個服務器將運行在哪個帳戶上 - 如果該帳戶沒有足夠的權限,如果它沒有SQL Server帳戶,它將無法登錄。 – 2009-10-29 20:22:25