Package org.infinispan.security
Class Security
- java.lang.Object
-
- org.infinispan.security.Security
-
public final class Security extends java.lang.ObjectSecurity. 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 theAccessControlContextis 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 voidcheckPermission(CachePermission permission)static <T> TdoAs(javax.security.auth.Subject subject, java.security.PrivilegedAction<T> action)A "lightweight" implementation ofSubject.doAs(Subject, PrivilegedAction)which uses a ThreadLocalSubjectinstead of modifying the currentAccessControlContext.static <T> TdoAs(javax.security.auth.Subject subject, java.security.PrivilegedExceptionAction<T> action)A "lightweight" implementation ofSubject.doAs(Subject, PrivilegedExceptionAction)which uses a ThreadLocalSubjectinstead of modifying the currentAccessControlContext.static <T> TdoPrivileged(java.security.PrivilegedAction<T> action)static <T> TdoPrivileged(java.security.PrivilegedExceptionAction<T> action)static javax.security.auth.SubjectgetSubject()If usingdoAs(Subject, PrivilegedAction)ordoAs(Subject, PrivilegedExceptionAction), returns theSubjectassociated with the current thread otherwise it returns theSubjectassociated with the currentAccessControlContextstatic java.security.PrincipalgetSubjectUserPrincipal(javax.security.auth.Subject s)Returns the first principal of a subjectstatic booleanisPrivileged()
-
-
-
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 ThreadLocalSubjectinstead 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.PrivilegedActionExceptionA "lightweight" implementation ofSubject.doAs(Subject, PrivilegedExceptionAction)which uses a ThreadLocalSubjectinstead 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 theSubjectassociated with the current thread otherwise it returns theSubjectassociated with the currentAccessControlContext
-
getSubjectUserPrincipal
public static java.security.Principal getSubjectUserPrincipal(javax.security.auth.Subject s)
Returns the first principal of a subject
-
-