Rozwijamy aplikację intranetową opartą na przeglądarce. Wszyscy użytkownicy mają aktywne konto katalogowe, więc oczywistym wyborem będzie użycie Zintegrowanego uwierzytelniania systemu Windows. Ale będzie wielu użytkowników uzyskujących dostęp do tego samego komputera klienckiego, więc zdecydowaliśmy się użyć uwierzytelniania opartego na formularzach (ale uwierzytelnionego przeciwko AD).Jak uwierzytelnić użytkownika między ASP.NET i WCF?
W tym scenariuszu, jaki jest najlepszy sposób uwierzytelniania między moją aplikacją ASP.NET (IIS) a usługami WCF (inny serwer IIS 7). Nie chcę używać trybu zgodności lub certyfikatu asp.Net.
Mam na myśli utworzenie innego konta domeny do uwierzytelniania ASP.NET i WCF. Przekazuję również informacje o bieżącym użytkowniku ASP.NET do WCF jako informacje o nagłówku. Czy to właściwy sposób? Poniższy kod wywoła z ASP.NET, aby uzyskać dostęp do każdej metody usługi.
// 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";
Czy istnieje lepszy sposób uwierzytelniania WCF z ASP.NET?
Dzięki, Popiół.
Konfiguracja usługi wcf jako zintegrowane uwierzytelnianie systemu Windows. Dostęp do jednego komputera klienckiego przy użyciu konta AD będzie miał wielu użytkowników. Nie chcą wylogowywać się z systemu Windows, aby uzyskać dostęp do tej aplikacji. więc konfiguruję uwierzytelnianie formularzy. Ale po zalogowaniu się (formularz), jeśli uzyskują dostęp do WCF, tożsamość będzie oryginalnym użytkownikiem logowania do systemu Windows, a nie użytkownikiem formularza. – Ash
Ah, myślę, że rozumiem, nie chcesz konfigurować Kerberos.Jeśli konfigurujesz protokół Kerberos, możesz uwierzytelniać się przy użyciu usługi AD w serwisie internetowym bez konieczności wykonywania jakichkolwiek czynności przez użytkownika. Czy może to lepszy sposób mówienia? – Hogan
Tak, chcę ustawić Kerberos i chcę uwierzytelnić się z AD, ale istnieje sposób, w jaki mogę przekazać aktualnie uwierzytelnionego użytkownika formularza ASP.NET do WCF, aby WCF pomyślał, że jest to bieżący użytkownik. (Użytkownik AD). Obecnie WCF uwierzytelnia się, ale nie jest najnowszym użytkownikiem formularza, ale oryginalnym użytkownikiem logowania do systemu Windows. Dziękuję za link, ale nie mogłem znaleźć właściwej odpowiedzi. – Ash