Skip to content

Commit 7051a9c

Browse files
committed
Fix WebPrincipal not serializable - make sessionPrincipal final again
1 parent 073f35d commit 7051a9c

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ public class SecurityContext extends AbstractSecurityContext {
6666

6767
private static final long serialVersionUID = 1L;
6868
private static final Logger _logger = SecurityLoggerInfo.getLogger();
69+
// sessionPrincipal is static because it's a thread local, which isn't serializable,
70+
// and we need at most one instance per thread
71+
private static final ThreadLocal<Principal> sessionPrincipal = new ThreadLocal<>();
6972

7073
private static InheritableThreadLocal<SecurityContext> currentSecurityContext = new InheritableThreadLocal<>();
7174
private static SecurityContext defaultSecurityContext = generateDefaultSecurityContext();
7275

7376
private static AuthPermission doAsPrivilegedPerm = new AuthPermission("doAsPrivileged");
7477

75-
// this is static because it's a thread local, which isn't serializable
76-
private static ThreadLocal<Principal> sessionPrincipal = new ThreadLocal<>();
77-
7878
// Did the client log in as or did the server generate the context
7979
private boolean serverGeneratedSecurityContext;
8080

0 commit comments

Comments
 (0)