2016-08-01 60 views
0

DbContext有以下實施的DbContext問題與連接字符串登錄

public class BusinessDataContext : IdentityDbContext<User, Role, Guid, UserLogin, UserRole, UserClaim> 
{ 
    public BusinessDataContext() : base(ConnectionStringManager.GetConnectionString()) 
    { 
    } 
} 

ConnectionStringManager返回基於我從工作哪臺機器的連接字符串,因爲有好幾個,但作爲一個例子...

Data Source=.;Initial Catalog=BusinessDb;User ID=sa;Password=Pa$$word123!;Integrated Security=true;Trusted_Connection=True;MultipleActiveResultSets=true 

當調試這從Visual Studio,當我在IIS下運行,我不遇到任何問題,不過,我得到以下錯誤

無法打開登錄請求的數據庫「BusinessDb」。登錄 失敗。用戶'IIS APPPOOL \ BusinessDb'登錄失敗。

我不明白爲什麼它試圖當我在連接字符串中所指定「sa」登錄爲IIS APPPOOL

回答

3

您需要通過在連接字符串中設置

Integrated Security=false 

指定SQL服務器身份驗證,而不是Windows身份驗證。

通過設置Integrated Security=true,API嘗試使用Windows身份驗證並登錄IIS APPPOOL\BusinessDb,這可能對您的SQL服務器沒有任何權限。