[jboss-user] [Security & JAAS/JBoss] - Authentication policies conflict
tremalnaik
do-not-reply at jboss.com
Wed May 14 09:23:52 EDT 2008
Hello,
I'm using Jboss version 4.0.5.GA. My EJB application accepts 2 kinds of client:
1. Http clients users connect using a web browser and authenticate with respect to the policy "bitastarRealm" (see below for the details)
2. JaxRpc clients connect through (servlet-like) Web Services and authenticate on the policy "bitastarRealm_noDisable"
The authentication is performed against login/passwords saved in a common database. This means users will be able to connect through the web browser and the web services using the same login/password
The two policies are defined as follows:
<application-policy name = "bitastarRealm">
| <authentication>
| <login-module code = "com.bitaplus.bitastar.web.security.auth.jboss.JbossEjbLoginModule" flag = "required">
| <module-option name="hashAlgorithm">MD5</module-option>
| <module-option name="hashEncoding">base64</module-option>
| <module-option name="disableOnLoginFailure">true</module-option>
| </login-module>
| </authentication>
| </application-policy>
|
| <application-policy name = "bitastarRealm_noDisable">
| <authentication>
| <login-module code = "com.bitaplus.bitastar.web.security.auth.jboss.JbossEjbLoginModule" flag = "required">
| <module-option name="hashAlgorithm">MD5</module-option>
| <module-option name="hashEncoding">base64</module-option>
| <module-option name="disableOnLoginFailure">false</module-option>
| </login-module>
| </authentication>
| </application-policy>
|
The second one is set up s.t. the users are not disable despite of the number of failed log ons.
The problem is the authentication caching, the one defined through the parameter "DefaultCacheTimeout":
<attribute name="DefaultCacheTimeout">172800</attribute>
|
When the JaxRpc clients authenticate in the web tier everything is fine, they authenticate in the "bitastarRealm_noDisable" policy. But when the app accesses the business tier the same session is re-authenticated using the cached "bitastarRealm" policy, if the user previously logged in using the web browser. I can fix this temporarily setting the DefaultCacheTimeout equals to zero.
I'd like to find a better solution.
Do you have any suggestion?
Thanks,
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150734#4150734
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150734
More information about the jboss-user
mailing list