Spring SAML örnek uygulama, bu kutunun dışında gibi davranır. Kullanıcı Bahar Security tarafından korunan bir sayfaya geldiği ve kimlik doğrulama sistemi gerektirdiğinde:
- HTTP oturumuna bilgi depolayarak (
ExceptionTranslationFilter
ve HttpSessionRequestCache
kullanarak Bahar Güvenlik içine otomatik olarak yapılır) sayfasını çağırmak için kullanılan parametreleri hatırlar
- kullanıcı IDP de kimliğini doğrular ve uygulama
- Yay SAML geri yönlendirilir yanıt ve i doğrular
- IDP seçimi mümkün IDP yeniden yönlendirir Yay SAML'yi en giriş noktası (
SAMLEntryPoint
sınıfı), çağırır (Örnek uygulamasında) orada depolanmış bir isteği (ilk aşamada orada koymak) var ve eğer öyleyse aynı seti ile hatırlanan sayfasını açmak için kullanıcının tarayıcısına yapar mı Çeşidi org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler
- başarı işleyicisi kontrol eder nvokes AuthenticationSuccessHandler, güvenlik kontrolü artık geçirmesi gerektiğini başlangıçta
- gibi parametrelerin, kimliği doğrulanmış kullanıcı sayfayı
amaçladığınız gibi tabii bu kullanarak röle durumunu uygulamak erişmek için yetkili olması koşuluyla. Röle durumunu ayarlamak için doğru yol SAMLEntryPoint
, getProfileOptions
geçersiz kılma yöntemini kullanarak ve döndürülen WebSSOProfileOptions
nesnesinde istediğiniz röle durumunu döndürerek.
AuthenticationSuccessHandler
değerini org.springframework.security.saml.SAMLRelayStateSuccessHandler
olarak değiştirerek, başarılı kimlik doğrulamasından sonra röle durumundan döndürülen URL'ye yönlendirme yapabilirsiniz.
Harika! Tam olarak bu cümleye ihtiyacım var: "Röle durumunu ayarlamanın doğru yolu, SAMLEntryPoint'i genişleterek, getProfileOptions yöntemini geçersiz kılarak ve döndürülen WebSSOProfileOptions nesnesinde istediğiniz röle durumunu döndürerek." Çok teşekkürler. –
relayState, kimlik doğrulama sunucusu ve istemci arasındaki bağlamı iletmenin iyi bir yoluydu. Bahşiş için teşekkürler! –