it-swarm.com.de

Anmeldung fehlgeschlagen. Die Anmeldung stammt von einer nicht vertrauenswürdigen Domäne und kann nicht mit der Windows-Authentifizierung verwendet werden

Meine Webseiten befinden sich auf einem gesicherten Server (https) und ich versuche, die SQL Server 2008-Datenbank, die ein normaler Server ist, zu verbinden. Ich schreibe Connectionstring auf der Seite selbst, nicht in der Datei web.config. Und ich bekomme folgenden Fehler: -

System.Data.SqlClient.SqlException: Login failed.
The login is from an untrusted domain and cannot be used with Windows authentication.

Bitte helfen, wie kann ich es verbinden? Muss ich dafür einige Webservices erstellen?.

mein Code ist wie folgt:

public void FillCity()
{
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "integrated security=SSPI;data source=dev-fcb; user id=sa;password=password;" 
    +"persist security info=False;database=mediapro";
    con.Open();
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = new SqlCommand("select * from StateCityMaster where IsActive='1' order by CityName", con);
    DataSet ds = new DataSet();
    da.Fill(ds);
    string CityName = string.Empty;
    if (ds.Tables[0].Rows.Count > 0)
    {
        CityName = ds.Tables[0].Rows[0]["CityName"].ToString();
    }
    DataSet dset = new DataSet();
    da.Fill(dset);
    if (dset.Tables[0].Rows.Count > 0)
    {
        drpCity.DataSource = dset;
        drpCity.DataTextField = "CityName";
        drpCity.DataValueField = "CityName";
        drpCity.DataBind();
    }
    drpCity.Items.Insert(0, new ListItem("--Select--", "0"));
    con.Close();
}
10
Abhi

In Ihrer Verbindungszeichenfolge wird die Verwendung einer integrierten Sicherheits-SSPI angegeben, die die Windows-Anmeldeinformationen verwendet.

Setzen Sie Integrated Security auf false, wenn Sie den Benutzernamen und das Kennwort angeben.

Ziehen Sie auch in Betracht, Ihre Verbindungszeichenfolge in die Datei web.config zu setzen - sie ist sicherer und wiederverwendbar.

Von http://msdn.Microsoft.com/de-de/library/system.data.sqlclient.sqlconnection.connectionstring(v=VS.100).aspx :

Bei false werden Benutzer-ID und Passwort in der Verbindung angegeben. Bei true werden die aktuellen Anmeldeinformationen des Windows-Kontos für die Authentifizierung verwendet. Die erkannten Werte sind true, false, yes, no und sspi (dringend empfohlen). Dies ist äquivalent zu true .. Wenn Benutzer-ID und Kennwort angegeben werden und Integrated Security ist auf true gesetzt, die Benutzer-ID und das Kennwort werden ignoriert und Integrated Security verwendet.

26
user985189

Alte Frage, und meine Symptome unterscheiden sich leicht, aber derselbe Fehler. Meine Verbindungszeichenfolge war korrekt (integrierte Sicherheit, und Benutzer und Kennwort werden nicht angegeben), wobei data source auf 127.0.0.1 eingestellt ist. Es hat jahrelang funktioniert.

Vor kurzem habe ich jedoch zu Testzwecken eine Zeile in die statische Host-Datei eingefügt (C:\Windows\System32\drivers\etc\hosts).

127.0.0.1           www.blablatestsite.com

Wenn Sie diese Zeile entfernen, ist der Fehler weg.

Ich habe einen Hinweis aus diesem Artikel ( https://support.Microsoft.com/de-de/kb/896861 ) erhalten, in dem es um Hostnamen und Loopback geht. 

Ein anderer möglicher Fix (wenn Sie diese Zeile in der hosts-Datei beibehalten müssen) ist die Verwendung des Hostnamens (wie MYSERVER01) anstelle von 127.0.0.1 im data source der Verbindungszeichenfolge.

1
Thierry_S

Für zukünftige Googler:

Wenn Sie doIntegrated Security Benötigen und diese Fehlermeldung erhalten, verwenden Sie möglicherweise einen local account Anstelle eines domain account.

Ich habe festgestellt, dass Visual Studio lokal ausgeführt wird und versucht wird, eine Verbindung zu einer Datenbank auf einem anderen Computer herzustellen. Eine Problemumgehung bestand darin, Visual Studio als anderen Benutzer auszuführen. Die Eingabeaufforderung funktionierte nicht, aber der folgende Befehl wurde ausgeführt (achten Sie darauf, DOMAIN\USER Zu ersetzen, und Sie werden aufgefordert, Anmeldeinformationen anzugeben):

runas /netonly /user:DOMAIN\USER "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe"

0
aage