2017-05-25 162 views
0

我已經使用Windows身份驗證和從用戶接收的憑據編寫了一個Windows服務,該服務連接到SQL Server(本例中爲2014)。爲了這樣做,我使用模擬,特別是簡單模擬nuget。Windows用戶模擬無法登錄到雲上的SQL Server

在我的本地環境(Windows 10)和其他本地環境中,它似乎工作正常,但是一旦我嘗試在Google雲(Windows Server 2012 R2)中進行測試,我會爲用戶I試圖模仿,這可能表明有一個問題,我無法找到密碼。

我使用用於通過RDP連接到服務器的相同用戶和密碼。當使用SSMS連接到具有該用戶的相同數據庫時,Windows身份驗證可以工作。

有沒有人有任何想法是什麼錯?無論如何Windows身份驗證是不同的雲或Windows服務器上?

var sql = "select 1"; 

using (Impersonation.LogonUser(domain, userName, password, LogonType.Interactive))  
using(var con = new SqlConnection(connectionString)) 
{ 
    con.Open(); 
    var cmd = new SqlCommand(sql, con); 
    cmd.ExecuteNonQuery(); 
} 

感謝

回答

0

這完全是一個安全問題。由於不同的用戶安裝了數據庫,因此我的用戶沒有創建登錄,並且由於它位於雲中,而不是我們的域,所以我也不是內置用戶之一。顯然,創建登錄可以修復它。我覺得很蠢