Powiedziano mi, że można stworzyć aplikację internetową, która nie wymaga logowania. Użytkownik loguje się do systemu Windows, który uwierzytelnia się za pomocą wyszukiwania Active Directory (LDAP). Następnie powinni móc przejść do mojej aplikacji internetowej i nigdy nie widzieć monitu o zalogowanie się. Ci klienci nazywają to jednokrotnym logowaniem (być może niepoprawnie i jest to część mojego zamieszania).
Ale z tego, co przeczytałem Single Sign On z dokumentów Tomcat, jest:
Zawór pojedynczego logowania jest wykorzystywany, gdy użytkownik chce umożliwić użytkownikom logowanie się do dowolnej aplikacji internetowej powiązanej z wirtualnym hostem , a następnie rozpoznanie ich tożsamości przez wszystkie inne aplikacje internetowe na tym samym hoście wirtualnym.
To jest dla mnie całkowicie jasne. Użytkownik musi się zalogować raz i może uzyskać dostęp do każdej aplikacji internetowej na instancji tomcat. Ale muszę w jakiś sposób pozwolić im się zalogować, nie podając żadnych danych uwierzytelniających na moim serwerze tomcat.
Aby to zadziałało, wyobrażam sobie:
- Użytkownik zgłasza prośbę o jakąś stronę
- Serwer nie widzi tokena sesji, a następnie prosi klienta o podanie poświadczeń.
- Przeglądarka klienta bez żadnej interwencji ze strony użytkownika podaje pewne poświadczenia dla serwera.
- Następnie, korzystając z poświadczeń podanych przez przeglądarkę klienta, wyszukuje w LDAP.
Widziałem kilka przykładów, które używają certyfikatów po stronie klienta ... szczególnie system DoD PKI, co ma dla mnie sens, ponieważ w takich przypadkach konfigurujesz Tomcat, aby żądał certyfikatów po stronie klienta , ale po prostu loguję się do okien, nie widzę, jak to będzie działać i jakie informacje przeglądarka przekaże na serwer itp. Czy do tego służy NTLM?