Package org.infinispan.security
Class Security
- java.lang.Object
-
- org.infinispan.security.Security
-
public final class Security extends java.lang.Object
Security. A simple class to implement caller privileges without a security manager and a much faster implementations of theSubject.doAs(Subject, PrivilegedAction)
andSubject.doAs(Subject, PrivilegedExceptionAction)
when interaction with theAccessControlContext
is not needed. N.B. this uses the caller'sPackage
, this can easily be subverted by placing the calling code within the org.infinispan hierarchy. However for most purposes this is ok.- Since:
- 7.0
- Author:
- Tristan Tarrant
-
-
Constructor Summary
Constructors Constructor Description Security()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
checkPermission(CachePermission permission)
static <T> T
doAs(javax.security.auth.Subject subject, java.security.PrivilegedAction<T> action)
A "lightweight" implementation ofSubject.doAs(Subject, PrivilegedAction)
which uses a ThreadLocalSubject
instead of modifying the currentAccessControlContext
.static <T> T
doAs(javax.security.auth.Subject subject, java.security.PrivilegedExceptionAction<T> action)
A "lightweight" implementation ofSubject.doAs(Subject, PrivilegedExceptionAction)
which uses a ThreadLocalSubject
instead of modifying the currentAccessControlContext
.static <T> T
doPrivileged(java.security.PrivilegedAction<T> action)
static <T> T
doPrivileged(java.security.PrivilegedExceptionAction<T> action)
static javax.security.auth.Subject
getSubject()
If usingdoAs(Subject, PrivilegedAction)
ordoAs(Subject, PrivilegedExceptionAction)
, returns theSubject
associated with the current thread otherwise it returns theSubject
associated with the currentAccessControlContext
static java.security.Principal
getSubjectUserPrincipal(javax.security.auth.Subject s)
Returns the first principal of a subject which is not of typeGroup
static boolean
isPrivileged()
-
-
-
Method Detail
-
doPrivileged
public static <T> T doPrivileged(java.security.PrivilegedAction<T> action)
-
doPrivileged
public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T> action) throws java.security.PrivilegedActionException
- Throws:
java.security.PrivilegedActionException
-
doAs
public static <T> T doAs(javax.security.auth.Subject subject, java.security.PrivilegedAction<T> action)
A "lightweight" implementation ofSubject.doAs(Subject, PrivilegedAction)
which uses a ThreadLocalSubject
instead of modifying the currentAccessControlContext
.- See Also:
Subject.doAs(Subject, PrivilegedAction)
-
doAs
public static <T> T doAs(javax.security.auth.Subject subject, java.security.PrivilegedExceptionAction<T> action) throws java.security.PrivilegedActionException
A "lightweight" implementation ofSubject.doAs(Subject, PrivilegedExceptionAction)
which uses a ThreadLocalSubject
instead of modifying the currentAccessControlContext
.- Throws:
java.security.PrivilegedActionException
- See Also:
Subject.doAs(Subject, PrivilegedExceptionAction)
-
checkPermission
public static void checkPermission(CachePermission permission) throws java.security.AccessControlException
- Throws:
java.security.AccessControlException
-
isPrivileged
public static boolean isPrivileged()
-
getSubject
public static javax.security.auth.Subject getSubject()
If usingdoAs(Subject, PrivilegedAction)
ordoAs(Subject, PrivilegedExceptionAction)
, returns theSubject
associated with the current thread otherwise it returns theSubject
associated with the currentAccessControlContext
-
getSubjectUserPrincipal
public static java.security.Principal getSubjectUserPrincipal(javax.security.auth.Subject s)
Returns the first principal of a subject which is not of typeGroup
-
-