Mam to, co myślę, że jest dość skomplikowanym pytaniem, więc zrobię co w mojej mocy, aby go tu wyartykułować.Wdrażanie logowania jednokrotnego w farmie sieci Web .NET dla kilku witryn e-commerce z WIF?
Szukam rozwiązania jednokrotnego logowania (SSO). Zdaję sobie sprawę z wielu dostępnych opcji, ale większość z nich wykluczyłem, dodając kryteria, które muszą spełnić. Oto kryteria:
1.) SSO należy dodać do istniejącego "systemu".
2.) Istniejący "system" składa się z "X" liczby stron internetowych.
3.) Wszystkie witryny "x" to e-commerce.
4.) Strony internetowe są własnością firmy Y, dla której 95% systemu zostało zbudowane wewnętrznie.
5.) Każda z "X" stron znajduje się w tej samej farmie sieci Web.
6.) Wszystkie strony internetowe udostępniać następujące składniki:
- DAL (Warstwa dostępu do danych)
- Database (wózki, Zamówienia, Użytkownicy, Magazyn, etc ...)
- uwierzytelniania (formularze Auth w obu WebForms i MVC).
7.) Aby obecne środowisko działało, klucze maszynowe zostały już zsynchronizowane między serwerami z obciążeniem load (i były przez pewien czas).
8.) Wysoka dostępność i stabilność są wymagane z powodu dużego natężenia ruchu w zakresie bardzo.
Wszystkie te kryteria doprowadziły mnie na ścieżkę WIF i niestandardowy STS do użycia z naszymi istniejącymi usługami uwierzytelniania członkostwa. Rzeczy takie jak OpenID i inne rozwiązania open source wydają się skłaniać do interoperacyjności między firmami; Który nie jest potrzebny ani potrzebny. Idealne rozwiązanie będzie w 100% wewnętrzne i pozwoli użytkownikowi zalogować się na stronie "1", zrób to, co chce zrobić, a następnie przejdź do strony "2" (również hostowane za loadbalancerem i potencjalnie nawet na tym samym serwerze). serwer internetowy, ponieważ użytkownik był na stronie internetowej "1") i być już zalogowany.
Oto lista alternatywnych metod, które obejrzałem i odpowiadający im powód ich wykluczenia (lub czy powinienem rozważyć niektóre z tych alternatyw?).
- OpenID: ta została wykluczona z kilku powodów, przede wszystkim dlatego, że mój organizacja szuka „in-house” OSM i integracji z zewnętrznych stron internetowych lub systemu identyfikacyjnego używanego z zewnętrznych stron internetowych nie jest życzenia.
- CAS: W przeważającej części, to także wydaje się przyzwoitą alternatywą. Ostatecznie został wykluczony, ponieważ technologie, których używa (Java, Apache, Maven, itp.) Będą wymagać dodatkowego wysiłku i pieniędzy, aby zrozumieć, zaimplementować, obsłużyć i rozszerzyć (przede wszystkim sklep .NET).
- OAuth: Wydaje się, że jest bardziej ukierunkowany na udostępnianie chronionych danych za pośrednictwem usług internetowych. Całkowicie niestandardowe (http://www.codeproject.com/KB/aspnet/CrossDomainSSOModel.aspx): całkowicie niestandardowe podejście może mieć zbyt wysoki czas realizacji i bezpieczeństwo jest bardziej niepokojące z tą metodą.
- DotNetOpenAuth: zależny/oparty na OpenID.
Pytanie brzmi: czy WIF działa w naszym obecnym środowisku, biorąc pod uwagę system równoważenia obciążenia i już udostępnione dane konta użytkownika na stronach internetowych czy istnieje lepsze podejście?
Proszę dać mi znać, jeśli potrzebujesz wyjaśnienia.
EDIT:
Wystarczy, aby wyjaśnić to, czego szukam w celu osiągnięcia (lub myśleć staram się osiągnąć ze względu na badania Zrobiłem) wynosi:
Current Setup (JPEG hosted on dropbox)
Desired Setup (JPEG hosted on dropbox)
Wszystkie witryny są .NET, bez klasycznych. Moje zrozumienie z programem ADFS polega na tym, że usługa Active Directory jest źródłem, z którego STS zatwierdza roszczenie użytkownika (może się mylić). W takim przypadku program ADFS nie jest realną opcją, ponieważ nasze dane dotyczące członkostwa w ogóle nie mają związku z AD. Czy WIF może być wykorzystany bez AD? Jeśli nie jest to program ADFS, czy nie może on być zrównoważony? Sądzę również, że potrzebowalibyśmy zarówno uwierzytelnienia, jak i autoryzacji, ponieważ niektóre strony zachowują się inaczej, gdy użytkownicy zostali uwierzytelnieni. – ooPeanutButter
Sposób, w jaki będzie działać, polega na stowarzyszeniu STS (który uwierzytelnia się np. Z programem SQL Server) z programem ADFS. Niestandardowy STS może uwierzytelniać wbrew wszystkim, co chcesz. Atrybuty używane do autoryzacji mogą pochodzić z dowolnej kombinacji AD, SQL Server lub LDAP. Nie musisz używać WIF/ADFS do autoryzacji. Możesz go użyć po prostu do SSO (uwierzytelniania) i zostawić swój kod autoryzacji w taki sposób, jak jest – nzpcmad
Wygląda na to, że twoja odpowiedź jest poprawna, ale czy mógłbyś potwierdzić to na podstawie diagramów dodanych w edycji? Zwróć uwagę na całkowity brak jakichkolwiek elementów związanych z AD na diagramach. Dzięki! – ooPeanutButter