+++ This bug was initially created as a clone of Bug #1069885 +++ Description of problem: In EAP 6, when using the SecureIdentityLoginModule to encrypt datasource passwords, the results are not cached by the JAAS cache. In EAP 5, the results are cached. This can lead to a performance issue. The root cause appears to be that the EAP 6 JAAS cache does not allow for a JAAS cache key to be null. The issue only occurs when the application that uses the datasource is not secured. In this situation, the principal is null when isValid() and updateCache() are called. When the application is secured, the results are cached. I think it is working because the result of the SecureIdentityLoginModule are cached using the authenticated user's principal as the cache key. Workaround: Use vault for encrypting the database password. This does not use a JAAS login module so the JAAS cache and login module are completely avoided.
Derek Horton <dhorton> updated the status of jira SECURITY-803 to Resolved
Fix committed: https://svn.jboss.org/repos/picketbox/branches/eap62
Reproducer: - unsecured/unprotected servlet that users a datasource - configure a datasource that uses a security-domain - configure the security-domain to use either the SecureIdentityLoginModule or the ConfiguredIdentityLoginModule - hit the servlet and make sure the security-domain only gets hit once
Verified in EAP 6.2.3.CR2.
Please add doc text.
Please add doc text. Thank you.