2013-03-05 17 views
6

Javafish 6 web uygulamasını Glassfish 3'te çalıştırıyorum. JAAS'ı jdbcRealm ve varsayılan haritalamayı rol haritalama için kullanıyorum. Benim veritabanında ben rollerine haritalama kullanıcı isimleri için tablo vardır:jdbcRealm veritabanında olduklarında neden güvenlik rollerini web.xml'de listeleyebilirim?

username | role 
----------+------- 
john  | admin 
mary  | user 

Neden web.xml kez daha bu rolleri listelemek gerekiyor? O isUserInRole() olmadan

<security-role> 
    <role-name>admin</role-name> 
</security-role> 
<security-role> 
    <role-name>user</role-name> 
</security-role> 

hep false döndürür. Güvenlik rollerini web.xml içinde yeniden tanımlamazsınız.

+0

http://stackoverflow.com/questions/5294252/confusing-about-security-role-in-web-xml –

+0

'a yakın görünüyor. Aslında güvenlik alemleriyle ilgili olmamasına rağmen. –

cevap

7

Bir uygulama sunucusunun kodunuzdaki kullanımlarını bilmesi için bunları listelersiniz. Güvenli bir uygulamayı dağıttığınızda, bir uygulama sunucusu güvenlik yapılandırması hakkında bilgi istemek için bir dağıtım tanımlayıcısı okur.. Uygulamanızda kullanılan rolleri bilir. Uygulama daha sonra rolleri kullanabilir ve uygulama sunucusunun bunları kullanıcılara ve gruplara eşleştirebilmesini bekler (sonuçta kullanıcılar en iyi güvenlik blokları olan kullanıcılar olarak tekrar çözülür).

Rolleri kullanıcılara eşleme konusunda konuşmak, bir alemin geldiği yer burası. Bu, eşleme sunmayı önerir, böylece bir dağıtım tanımlayıcısındaki bir rolün X, bir veritabanındaki X rolünü eşleştirerek, A ve B kullanıcılarını eşler. Bununla birlikte, jdbcRealm tarafından kullanılan veritabanı tam olarak aynı rollere sahiptir, çünkü uygulama sunucusunun uygulamadaki rollere eşleşmesi gereken kullanıcı anahtarlarıdır.

Kodunuzda ve dağıtım tanımlayıcısında kullandığınız, jdbcRealm tarafından sunulan eşleme aracılığıyla gerçek kullanıcılara çözülen bir kullanıcı grubunun mantıksal adıdır.

+0

Basit "Merhaba dünya" ish uygulamasında; etiketini belirtmedim. Hala her şey beklendiği gibi çalışır. yani tarayıcı kimlik doğrulamasını ister. Girilen kullanıcı ve rolü tomcat tarafından doğru bir şekilde tanımlanmıştır. Yani sadece hoş bir özellik var mı? –

İlgili konular