Wir entwickeln eine browserbasierte Intranet-Anwendung. Alle Benutzer haben Active Directory-Konto, so offensichtliche Wahl würde Verwendung Integrierte Windows-Authentifizierung sein. Da jedoch mehrere Benutzer auf denselben Clientcomputer zugreifen, haben wir uns für die Verwendung der formularbasierten Authentifizierung entschieden (aber gegen AD authentifiziert).Wie authentifiziere ich Benutzer zwischen ASP.NET und WCF?
In diesem Szenario ist die beste Möglichkeit, zwischen meiner ASP.NET-Anwendung (IIS) und WCF-Dienste (ein anderer Server IIS 7) zu authentifizieren. Ich möchte den asp.Net-Kompatibilitätsmodus oder das Zertifikat nicht verwenden.
Ich denke, ein anderes Domänenkonto zu erstellen, um ASP.NET und WCF zu authentifizieren. Ich übermittle auch die Informationen über den aktuellen ASP.NET-Benutzer an WCF als Header-Informationen. Ist das der richtige Weg? Der folgende Code ruft von ASP.NET auf, um auf jede Servicemethode zuzugreifen und sie zu erhalten.
// Call WCF service from ASP.NET Application using a new domain account for each call.
proxy.ClientCredentials.Windows.ClientCredential.Domain = "mydomain";
ServiceReference.HelloWorldClient proxy = new ServiceReference.HelloWorldClient();
proxy.ClientCredentials.Windows.ClientCredential.UserName = "new_domain_account";
proxy.ClientCredentials.Windows.ClientCredential.Password = "password";
Gibt es eine bessere Möglichkeit, WCF von ASP.NET zu authentifizieren?
Danke, Asche.
WCF-Service-Setup als integrierte Windows-Authentifizierung. Viele Benutzer greifen mit ihrem AD-Konto auf einen Client-PC zu. Sie möchten keine Fenster abmelden, um auf diese Anwendung zuzugreifen. Also habe ich die Formularauthentifizierung eingerichtet. Wenn sie jedoch nach dem Anmelden (Formular) auf WCF zugreifen, ist die Identität der ursprüngliche Windows-Anmeldebenutzer und nicht der Formularbenutzer. – Ash
Ah, ich denke, ich verstehe, Sie wollen Kerberos nicht einrichten.Wenn Sie Kerberos einrichten, können Sie sich mit AD im Web-Service authentifizieren, ohne dass der Benutzer etwas tun muss. Oder ist das der bessere Weg, von dem du sprichst? – Hogan
Ja, ich möchte Kerberos einrichten und ich möchte mit AD authentifizieren, aber da ich irgendwie authentifizierte ASP.NET-Formular Benutzer an WCF übergeben kann, so WCF denke, es als der aktuelle Benutzer. (AD Benutzer). Derzeit authentifiziert WCF zwar, aber nicht den letzten Formularbenutzer, sondern den ursprünglichen Windows-Anmeldebenutzer. Danke für den Link, aber ich konnte nicht die richtige Antwort dafür finden. – Ash