Frage

Ich erstelle einen WCF -Dienst, der mithilfe der Windows -Authentifizierung in einer Intranet -Umgebung ausgeführt werden soll. Ich habe fröhlich mit einigen Standardeinstellungen auf dem lokalen Computer zusammengearbeitet.

Das Problem ist nun, dass ich es testen muss, um es auf einem Off -Site -Demo -Computer zu installieren. Ich muss nur mit dem Benutzername -Passwort ausgeführt werden, das gegen die Benutzerkonten des WCF Service Computer verwendet wird.

Dies ist mein Client -Code:

using (ImportServiceClient client = new ImportServiceClient("ImportServiceSoap12", REMOTE_ADDRESS))
{
    client.ClientCredentials.Windows.AllowNtlm = true;
    client.ClientCredentials.Windows.ClientCredential =
        new NetworkCredential(userName, password, computerName);

    result = client.Sync(items.ToArray());
}

Ist es möglich, den WCF -Dienst so zu konfigurieren, dass er den Anmeldeinformationen in ein Windows -Konto auf dem Computer übersetzt?

Ich habe hier und da widersprüchliche Beiträge gelesen, aber ich bin mir ziemlich sicher, dass ich nicht Teil der Authentifizierung sein sollte. Ich bin mir nicht sicher, ob ASP.NET -Authentifizierungsknoten gilt oder ob es sich um eine Bindungskonfiguration handelt.

Idealerweise möchte ich, dass es eine Authentifizierung vom Typ NTLM ist, damit ich keine HTTPS einrichten muss.

War es hilfreich?

Lösung

Ist es möglich, den WCF -Dienst so zu konfigurieren, dass er den Anmeldeinformationen in ein Windows -Konto auf seinem Computer übersetzt?

Nein. Integrierte Windows -Authentifizierung erfordert, dass sowohl der Server als auch der Client Teil derselben Domäne sind (oder domänen mit einer Vertrauensbeziehung auf jeden Fall). Sie können IWA nicht sinnvoll gegen lokale Computerkonten auf dem Server ausführen.

Sie müssen eine andere (potenziell benutzerdefinierte) Authentifizierungsform verwenden und dann für den Benutzer, den Sie wie im Servercode ausführen möchten, ausführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top