In previous versions of JBoss EAP 6 performance issues were encountered when using the `SecureIdentityLoginModule` not caching encrypted datasource passwords. This was caused by JAAS cache not allowing the cache key to be null when the application using the datasource was not secured.
In this release of the product the vault is used for encrypting database passwords, bypassing the JAAS login module and resolving the performance issues.
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.
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 <firstname.lastname@example.org> updated the status of jira SECURITY-803 to Resolved
Fix committed to:
Verified in 6.3.0.ER4