2013-12-11 16 views
5

Kullanıcı kaydı ve kimlik doğrulamasını yönetebileceğim çok basit bir java web uygulamasına sahibim. Bu uygulamayı SAML kimlik sağlayıcısı olarak kullanmak istiyorum. Daha sonra, kullanmadan önce kullanıcının kimlik doğrulaması yapmasını gerektiren başka bir basit web uygulaması oluşturacağım. Yani temelde ilk uygulamamın IdP olmasını ve ikinci uygulamamın servis sağlayıcı olmasını istiyorum. İş akışı şöyle olmalı: kullanıcı app2'ye gider. App2, kullanıcının kimliği doğrulandığında uygulamayı kullanıcı 1'e yönlendirir. Kimlik doğrulaması başarılı olursa, uygulama1, kullanıcıyı tam erişimi olan app2'ye yönlendirir. SAML için nispeten yeni. Acısız bir şekilde yapmam için bana yardımcı olacak herhangi bir eğitim var mı?java uygulamasının Kimlik Sağlayıcısı olarak hareket etmesini nasıl yapılandırılır

cevap

4

Bir SAML Kimlik sağlayıcısının kullanılmaya hazır bir uygulaması olan Shibboleth'a bir göz atın. Aslında, zaten Kimlik sağlayıcı size iki seçenek sunar gibi davranmaya istediğiniz bir uygulama, sahip olduğu:

  1. yapılandır Shibboleth bir kimlik doğrulama kaynağı olarak size kullanıcı veri modeli kullanmak için (bu mümkün olup olmadığından emin değil)
  2. Shibboleth'i uygulamak için kullanılan Java Kitaplığı OpenSAML-Java'u kullanın. Bu sadece SAML 2.0'ın Web SSO profili etrafında SAML Onaylarının İşleme (Oluşturma, Doğrulama, Değişim) sağlar. App2 ve App1'de Web İsteği yeniden yönlendirme sürecini kendiniz oluşturmanız gerekir.

SAML çok ağrısız değil ayrıca onun OpenID veya OAuth (bunlar bazı ortak ilkeler var, ama kesin çok daha basittir) gibi diğer basit Standartları için örnek olarak hareket kapsamlı bir standart.

1
: Its hemen hemen aynı hikaye Java RMI vs ÇORBA ile olandan Burada

SAML Web Browser SSO Profile kullanırken yapılanlara bazı temel anlamak için iyi bir başlangıç ​​noktasıdır

Sorunuzun iki bölümü vardır. Bir STS yazma önemsiz olmayan bir konudur

  • Java SAML sunucusu (STS)
  • Java SAML istemci

:

Sen istiyorsun. Mevcut bir uygulamayı kullanmaktan daha iyi olabilirsiniz. OpenAM başka bir olasılıktır. Kimlik depoları için bir dizi seçeneği destekler.

İstemci açısından, bkz. SAML : SAML connectivity/toolkit.

İlgili konular