2010-08-26 11 views

Odpowiedz

8

Dodałeś j2ee jako tag, więc zakładam, że jest to pytanie java. Możesz zaimplementować pojedyncze logowanie w kodzie przez ... no ... pisanie kodu. Skorzystaj z wbudowanego uwierzytelniania j2ee lub stwórz własne.

Zobacz tę odpowiedź na możliwości: Single sign-on in Java EE

Podstawową strategią jest wymyślić jakąś wspólną strategię ciasteczka że wszystkie stronach internetowych można przeczytać. Na przykład, jeśli opracowujesz rozwiązanie jednokrotnego logowania dla xyz.company.com i abc.company.com, dostarcz plik cookie sesji ze ścieżką firmy. Obie strony mogą uzyskać dostęp do tej sesji i zobaczyć "Och, ten facet już się zalogował."

Istnieją również strategie pojedynczego logowania w sieci podczas uwierzytelniania użytkowników na całkowicie odrębnych stronach, takich jak MySiteA.com i MySiteB.com.

Aby zapobiec atakom typu "powtórka", będziesz musiał mieć przy sobie typowy magazyn sesji, na którym twoje strony internetowe mogą potwierdzić ten plik cookie na każdym żądaniu strony. Nie oznaczono tego tagiem .NET, ale w .NET oznacza to, że musisz przenieść stan sesji z procesu roboczego IIS, który nie jest domyślny po wybraniu opcji Plik> Nowy projekt ... dla aplikacji internetowych.

Twoja aplikacja będzie musiała chronić każde przychodzące żądanie sieciowe, ponieważ teraz ufasz temu ciasteczkowi jako "bilet" lub "dowód wpuszczenia". Będziesz potrzebował strategii, aby cofnąć autoryzację tego pliku cookie (podczas wylogowania, przekroczenia limitu czasu lub innego).

Większość rozwiązań sieciowych, w tym J2EE, .NET lub serwerów aplikacji, takich jak WebSphere, ma do tego odpowiednie rozwiązania. Będziesz musiał je zbadać i zapoznać się z technikami, których potrzebujesz.

Można również kupić oprogramowanie dostępu stron trzecich, takie jak CA Siteminder. W takim przypadku nie wpisujesz kodu uwierzytelniania i dostępu, a ich agenci internetowi stoją przed aplikacją. Mają też rozwiązania jednokrotnego logowania dla wielu stron internetowych, które mogą lub nie mogą współdzielić wspólnej domeny wyższego poziomu.

Nie polecam wyraźnie tego produktu. Mówię, że zadałeś bardzo bardzo duże pytanie i możesz użyć java, aby rozwiązać problem lub kupić produkty innych firm, które próbują zrobić to samo.

To jest OGROMNY temat, którego NIE próbowałem omawiać szczegółowo. To nie jest wystarczająca odpowiedź. Chodzi o to, że musisz wybrać więcej elementów swojej architektury, zanim uzyskasz bardziej szczegółową pomoc i wskazówki.