2011-06-27 12 views
5

Oturum açma modülü bayraklarının JAAS'ta (JBoss 5.1 EAP kullanarak) nasıl çalıştığını anlamaya çalışıyorum ve birisinin benim için açıklığa kavuşmasını umduğum şaşırtıcı bir duruma rastlarım.JAAS LoginModule bayrakları

Bu durumda
<authentication-policy> 
    <authentication> 
    <login-module code="...loginModule1" flag="sufficient"> 
     ... 
    </login-module> 
    <login-module code="...loginModule2" flag="optional"> 
     ... 
    </login-module> 
    <login-module code="...loginModule3" flag="optional"> 
     ... 
    </login-module> 
    </authentication> 
</authentication-policy> 

, loginModule1 bağımsız olmakla loginModule2 loginModule3 bağlıdır: arka plan için

, benim giriş-config.xml buna benzemez. Ben var problemm loginmodule1 başarısız ve loginModule2 ve loginModule3 her ikisi de başarılı olursa hala başarısız bir giriş olsun. LoginModule1'i isteğe bağlı olarak değiştirirseniz, loginModule1 başarısız olduğunda ve 2 ve 3 başarılı bir oturum açtığımda.

sufficient: the LoginModule is not required to succeed. If it does succeed, 
control immediately returns to the application (authentication does not proceed 
down the LoginModule list). If it fails, authentication continues down the 
LoginModule list. 

ne zaman o bu konuda dayalı düşünce olurdu: JBoss güvenlik belgelerine (http://docs.jboss.org/jbossas/admindevel326/html/ch8.chapter.html) Gönderen

LoginModule yeterli bir bayrak ile başarısız olur, ancak aşağıdaki LoginModule geçer geçmez başarılı bir giriş olur, herkes bunun neden böyle olmadığını biliyor mu?

+0

İki kullanım durumunu, yük devretme işlevini kullanmak yerine iki güvenlik etki alanına ayırmaya başladım. Utanç verici olsa da. – bwobbones

cevap

8

javax.security.auth.login.Configuration class adresindeki java belgelerine göz atmalısınız, yeterli, gerekli, zorunlu ve isteğe bağlı ortalama hakkında tüm bilgilere sahip olmalıdır. Sorunuzla ilgili olan şey şu paragraftır:

Genel kimlik doğrulaması, yalnızca tüm Zorunlu ve Gerekli Giriş Modülleri başarılı olursa başarılı olur. Yeterli bir LoginModule yapılandırılmış ve başarılı olursa, o Yeterli LoginModule öncesinde yalnızca Gerekli ve Gerekli LoginModule, genel kimlik doğrulamanın başarılı olması için başarılı olmuş olmalıdır. Bir uygulama için Gerekli veya Gerekli LoginModules yapılandırılmamışsa, en az bir Yeterli veya İsteğe Bağlı LoginModule başarılı olmalıdır.

Bu ne olması gerektiği, kurulumunuz doğru gibi görünüyor, ancak bir şey düzgün bir şekilde geri dönmüyor, bu yüzden her şey başarısız oluyor. Belki JBoss biraz farklı bir şey yapar.

+0

Bunun için teşekkürler, bu yorumu okudum, başkasının bir hata olduğunu düşündüğünü bilmek güzel. – bwobbones

İlgili konular