We have a use case where we need to have a custom status attribute for user 
identities.  We also have created a custom authentication interceptor that will 
check the status attribute on bind, depending on the status we will throw a 
LdapAuthenticationException and report the status in the message.  Our SSO 
solution is then using this during the authentication process.  This is all 
working as needed.  The issue we run into is related to the caching policies 
within ApacheDS.  The first time a user identity attempts to login into our SSO 
application the bind event is triggered and the status is checked, after that 
the result of the bind is cached, the next time the user logs in the bind event 
is not triggered, because of this if the users status is changed after they 
have logged in then that new status is not reported until the cache clears.  
After reviewing the ApacheDS code I see there is some logic within ApacheDS to 
remove the user object from cache when the users password is changed, is there 
a way to also do this for a custom attribute like we have for status either 
through configuration or through custom code? If we have to we will set the 
expectation with our customers that any changes to status could take up to x 
amount of time to take effect but I would prefer to have these changes be real 
time if possible.  Also what is the caching time for authentication and does it 
use sliding expiration? Thank you in advance.


Thanks,
Justin Isenhour | Lead Developer, Systems and Technology Group | Compass Group 
USA |  2400 Yorkmont Road | Charlotte, NC 28217 | 704.328.5804 | 
justin.isenh...@compass-usa.com<mailto:justin.isenh...@compass-usa.com>

[stg_logo]

Reply via email to