You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by lh...@apache.org on 2012/01/17 20:30:19 UTC
svn commit: r1232548 -
/shiro/trunk/core/src/main/java/org/apache/shiro/subject/support/DelegatingSubject.java
Author: lhazlewood
Date: Tue Jan 17 19:30:19 2012
New Revision: 1232548
URL: http://svn.apache.org/viewvc?rev=1232548&view=rev
Log:
SHIRO-298: removed null assignment to guarantee local instance removal even in the event of a SessionException
Modified:
shiro/trunk/core/src/main/java/org/apache/shiro/subject/support/DelegatingSubject.java
Modified: shiro/trunk/core/src/main/java/org/apache/shiro/subject/support/DelegatingSubject.java
URL: http://svn.apache.org/viewvc/shiro/trunk/core/src/main/java/org/apache/shiro/subject/support/DelegatingSubject.java?rev=1232548&r1=1232547&r2=1232548&view=diff
==============================================================================
--- shiro/trunk/core/src/main/java/org/apache/shiro/subject/support/DelegatingSubject.java (original)
+++ shiro/trunk/core/src/main/java/org/apache/shiro/subject/support/DelegatingSubject.java Tue Jan 17 19:30:19 2012
@@ -455,11 +455,12 @@ public class DelegatingSubject implement
}
private void clearRunAsIdentities() {
+ //setting to null must occur before interacting with the session in case it throws an exception (SHIRO-298)
+ this.runAsPrincipals = null;
Session session = getSession(false);
if (session != null) {
session.removeAttribute(RUN_AS_PRINCIPALS_SESSION_KEY);
}
- this.runAsPrincipals = null;
}
private void pushIdentity(PrincipalCollection principals) throws NullPointerException {