[jboss-jira] [JBoss JIRA] Created: (JBAS-7822) Investigate race condition for security
Stefan Ries (JIRA)
jira-events at lists.jboss.org
Thu Mar 18 06:54:38 EDT 2010
Investigate race condition for security
---------------------------------------
Key: JBAS-7822
URL: https://jira.jboss.org/jira/browse/JBAS-7822
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Security
Environment: WinXP 64bit
Reporter: Stefan Ries
Assignee: Anil Saldhana
Fix For: JBossAS-5.0.0.GA
I'm runnin several beans, let's call them A,B,C. They all run in the same security context. I'm using have a custom loginmodule and a custom principal.
Bean A has the following method:
public Principal getCurrentPrincipal() {
if (log.isTraceEnabled()) {
log.trace("getCurrentPrincipal() - start"); //$NON-NLS-1$
}
Principal returnPrincipal = sCtx.getCallerPrincipal();
if (log.isTraceEnabled()) {
log
.trace("getCurrentPrincipal() - end - return value=" + returnPrincipal); //$NON-NLS-1$
}
return returnPrincipal;
}
My test runs 3 threads.
- Thread1: Fetches non-stop entities using bean B
- Thread2: Fetches non-stop entities using bean C
- Thread3: Endless loop of:
--Perform login
--call BeanA.getCurrentPrincipal();
--Compare principal name with login name
--logout
After running this several minutes, the name of the principal is "anonymous" (the unauthenticated principal). When disabeling Thread 1 and 2, the error does not occur.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list