2016-08-01 8 views
0

My DbContext hat die folgende UmsetzungDbContext Problem mit Verbindungszeichenfolge Login

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

ConnectionStringManager eine Verbindungszeichenfolge zurück, basierend auf welcher Maschine ich arbeite aus, da es mehrere sind, aber als Beispiel ...

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

wenn ich debuggen diese von Visual Studio ich in Probleme nicht laufen, aber wenn ich unter IIS laufen, bekomme ich folgende Fehler

Die Datenbank "BusinessDb", die vom Login angefordert wurde, kann nicht geöffnet werden. Der Login ist fehlgeschlagen. Anmeldung fehlgeschlagen für Benutzer 'IIS APPPOOL \ BusinessDb'.

Ich verstehe nicht, warum es als IIS APPPOOL einzuloggen versucht, wenn ich angegeben habe ‚sa‘ in der Verbindungszeichenfolge?

Antwort

3

Sie müssen SQL Server-Authentifizierung anstelle der Windows-Authentifizierung angeben, indem

Integrated Security=false 

in der Verbindungszeichenfolge festlegen.

Durch die Einstellung Integrated Security=true versucht die API, die Windows-Authentifizierung zu verwenden und sich anzumelden IIS APPPOOL\BusinessDb, die wahrscheinlich keine Rechte auf Ihrem SQL-Server hat.