2009-07-24 8 views
0

Ich entwickle eine ASP.NET-Anwendung, die (extensiv) WCF-Dienste aufrufen wird. Nun, ich habe offensichtlich eine Art geistiger Einbruch, denn ich kann das nicht so richtig um meinen Kopf wickeln.WCF mit UserName Authentifizierung mit Nachrichtensicherheit

Ich verwende WS2007HttpBinding mit Nachrichtensicherheit und ClientCredentialType von UserName. Der WCF verwendet den ASP.NET-Mitgliedschaftsanbieter, um die Anmeldeinformationen des Benutzers zu überprüfen.

Das alles funktioniert gut, aber ich brauche offensichtlich in immer rufen Sie die Benutzerdaten enthalten:

var service = new MyService.MyServiceClient(); 
service.ClientCredentials.UserName.UserName = "my_username"; 
service.ClientCredentials.UserNane.Password = "mypassword"; 

.... etc ... 

service.Close(); 

Nun, dies ist von der Login-Seite einfach wie der Benutzer uns ihren Benutzernamen und das Passwort nur gegeben hat. Ich bin nicht damit zufrieden, das Passwort für den späteren Gebrauch zu speichern, wenn wir einen anderen Dienst mit den Anmeldeinformationen des Benutzers aufrufen müssen.

Fehle ich etwas offensichtlich? Ich habe über Token usw. gelesen, aber ich bin mir nicht ganz sicher, wie ich das umsetzen soll. Ich habe den ganzen Tag gesucht und gelesen und ich bin immer noch unsicher, so wird jede Hilfe, die Sie geben können, sehr geschätzt werden!

Antwort

1

Der einfachste Weg könnte wirklich sein, das Passwort in einer benutzerdefinierten Identität zu speichern. In einer idealen Welt würden Sie z.B. Kerberos und Delegation. Suchen Sie nach weiteren Informationen zu Identitätswechsel und Delegierung.

ein ziemlich guter Artikel:

http://msdn.microsoft.com/en-us/library/ms998358.aspx#paght000025_usingimpersonation

Aber all das Zeug mit einer Mitgliedschaft Anbieter funktioniert nicht. Sie benötigen Windows-Authentifizierung mit einem Active Directory.

Dieses Thema ist nicht allzu einfach ... nur als eine Idee: Müssen Sie sich wirklich am Webservice mit den Zugangsdaten des interaktiv angemeldeten Benutzers authentifizieren?

HTH ein bisschen, Alex

+0

Ja du hast recht, darüber nachzudenken, mehr brauche ich nicht den Dienst mit ihren Anmeldeinformationen die ganze Zeit anrufen werden – Wayne

Verwandte Themen