2012-06-13 21 views
5

Genel Durum: Hizmetlerini EJB (3.1) aracılığıyla ortaya koyan basit bir uygulama - bunların çoğu Stateless Sessions beans (burada hiçbir şey eğlenceli değil) ve SWING tabanlı istemciler Bu, uzak servisler aracılığıyla bu hizmetleri çağırır ve yapmaları gerekenleri yapar.Swing İstemcisi'nde Apache Shiro - EJB 3.1 Kimlik Doğrulama Yetkilendirme

Güvenlik: Bu çağrı döngüsünü doğrulamak/yetkilendirmek ve elbette hizmetlerimi korumak istiyorum. Açık cevap, sunucudaki JAAS'ı ve temel sunucudaki herhangi bir özel kablo kurulumunu kullanmak olabilir. - Potansiyel uygulama sunucusu bağımsız olabilir Yani bir sürü insan Apaçi Shiro hakkında konuşmak ve gerçekten de çok basit bir API ve mekanizma özellikleri: Bu bir seçenek

Apache Shiro hala.

Teknik Sorular:

  1. Oturum: Benim durumumda ben bir HTTP oturumu yok - ve anladıkları Shiro en az Etrafa geçmesi gerekiyor OTURUM kimliği çeşit ihtiyacı var. RMI/IIOP'umdaki kullanıcı kimlik bilgilerini enjekte etmenin herhangi bir yolu, iş API'mı kirletmeyerek sunucuya çağrı yapıyor mu?

  2. Sunucu tarafı uygulaması: Ben I yoluyla gitti kaç kaynaklar için bir Singleton EJB 3.1 fasulye 'onu referans tarafından' bir Shiro DefaultSecurityManager uygulayabilirsiniz düşünüyorum. Başka fikirlerin var mı? Sonra kolayca bir önleme oluşturabilir ve uzaktan çağrılarıma ekleyebilirim - böylece yeni bir çağrı Uzaktan EJB yöntemimden geçiyor - Shiro Intereceptor kullanıcımı doğrulamak veya belirli hakları kontrol etmek için.

Herhangi bir yorum/ipucu/örnek?

çok teşekkürler

cevap

0

Shiro'nun itibaren bir ServiceLocator desen kullanmayı deneyin. EJB'nin aranması kaplar (JBoss, Netweaver, Weblogig, vb.) Arasında farklıdır.

Uygulama Sunucusu'nda, kabinin güvenlik kısıtlamalarını (@RolesAllowed, @PermitAll, @Deny ...) kullanmayı deneyin. JAAS konuyu kullanıcı prensipleri ile oluşturacaktır, bu yüzden sadece konteyner yetkilendirmesini kullanın (@RolesAllowed, @PermitAll, @Deny ...). Bir konteynırdan diğerine geçerken daha iyi olabilir.

+0

Merhaba Marcelo, cevabınız için teşekkürler - ama yine de JAAS'ı kullanmak üzereysem - o zaman da shiroyu kablolamada büyük bir avantaj bulamıyorum. Benim fikrim,% 100 JAAS'ı geçmek ve Shiro kullanarak her şeyi uygulamaktı. – javapapo

+0

Tamam. Uygulamayı shiro'ya bağlı bir satıcı yapmak sorun değilse, sorun yoktur. Demek istediğim, kapsayıcıyı kullanmanız durumunda, denetçinin zaten güvenlik uygulamalarına sahip olması. Web.xml kısıtlamaları gibi bazı işlevleri kaybedebilirsiniz veya Ek Açıklamalar güvenliği kısıtlar. – Marcelo

İlgili konular