Class SecurityContextImpl
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl
-
- All Implemented Interfaces:
SecurityContext,SecurityContextEx
public class SecurityContextImpl extends Object implements SecurityContextEx
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jetbrains.buildServer.serverSide.SecurityContextEx
SecurityContextEx.RunAsAction, SecurityContextEx.RunAsActionWithResult<T>
-
-
Field Summary
Fields Modifier and Type Field Description static AuthorityHolderNO_PERMISSIONS
-
Constructor Summary
Constructors Constructor Description SecurityContextImpl(ServerResponsibility serverResponsibility)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearContext()Removes current authority holder from the contextStringdescribeAuthorityHolder(AuthorityHolder authorityHolder)AccessCheckergetAccessChecker()ReturnsAccessCheckerinstance that should be used for various security asserts.AuthorityHoldergetAuthorityHolder()Retrieves authority holder from current context.PermissionsgetGloballyAllowedPermissions()AuthorityHoldergetOriginalAuthority()Normally permissions that are not available on the current node are filtered out from all authority holders.booleanisSystemAccess()AuthorityHolderrestrictByServerPermissions(AuthorityHolder authorityHolder)Filters out permissions that are not available on the server - due to current server responsibilitiesvoidrunAs(AuthorityHolder authority, SecurityContextEx.RunAsAction action)<T> TrunAs(AuthorityHolder authority, SecurityContextEx.RunAsActionWithResult<T> action)voidrunAsSystem(SecurityContextEx.RunAsAction action)Runs specified Runnable with system privileges (in all permissions mode)<T> TrunAsSystem(SecurityContextEx.RunAsActionWithResult<T> action)voidrunAsSystemUnchecked(SecurityContextEx.RunAsAction action)Runs specified Runnable with system privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeExceptionMethod can be used instead ofSecurityContextEx.runAsSystem(jetbrains.buildServer.serverSide.SecurityContextEx.RunAsAction)in case {@param action} does not throw checked exception or no specific exception handling is required.<T> TrunAsSystemUnchecked(SecurityContextEx.RunAsActionWithResult<T> action)voidrunAsUnchecked(AuthorityHolder authority, SecurityContextEx.RunAsAction action)Runs specified Runnable with {@param authority} privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeExceptionMethod can be used instead ofSecurityContextEx.runAs(jetbrains.buildServer.serverSide.auth.AuthorityHolder, jetbrains.buildServer.serverSide.SecurityContextEx.RunAsAction)in case {@param action} does not throw checked exception or no specific exception handling is required.<T> TrunAsUnchecked(AuthorityHolder authority, SecurityContextEx.RunAsActionWithResult<T> action)voidsetAccessChecker(AccessChecker accessChecker)voidsetAuthorityHolder(AuthorityHolder authority)Sets AuthorityHolder in the context
-
-
-
Field Detail
-
NO_PERMISSIONS
@NotNull public static final AuthorityHolder NO_PERMISSIONS
-
-
Constructor Detail
-
SecurityContextImpl
public SecurityContextImpl(@NotNull ServerResponsibility serverResponsibility)
-
-
Method Detail
-
setAccessChecker
public void setAccessChecker(@NotNull AccessChecker accessChecker)
-
getAuthorityHolder
@NotNull public AuthorityHolder getAuthorityHolder()
Retrieves authority holder from current context.- Specified by:
getAuthorityHolderin interfaceSecurityContext- Returns:
- AuthorityHolder, never null
-
getOriginalAuthority
@NotNull public AuthorityHolder getOriginalAuthority()
Description copied from interface:SecurityContextExNormally permissions that are not available on the current node are filtered out from all authority holders. This method allows to obtain original set of authority holder' permissions without filtering. SeeServerPermissionsRestrictor.getAllowedPermissions()- Specified by:
getOriginalAuthorityin interfaceSecurityContextEx
-
setAuthorityHolder
public void setAuthorityHolder(@NotNull AuthorityHolder authority)Sets AuthorityHolder in the context- Specified by:
setAuthorityHolderin interfaceSecurityContextEx- Parameters:
authority-
-
clearContext
public void clearContext()
Removes current authority holder from the context- Specified by:
clearContextin interfaceSecurityContextEx
-
runAsSystem
public void runAsSystem(@NotNull SecurityContextEx.RunAsAction action) throws ThrowableDescription copied from interface:SecurityContextExRuns specified Runnable with system privileges (in all permissions mode)- Specified by:
runAsSystemin interfaceSecurityContextEx- Parameters:
action- action to run- Throws:
Throwable- exception
-
runAsSystem
public <T> T runAsSystem(@NotNull SecurityContextEx.RunAsActionWithResult<T> action) throws Throwable- Specified by:
runAsSystemin interfaceSecurityContextEx- Throws:
Throwable
-
runAsSystemUnchecked
public void runAsSystemUnchecked(@NotNull SecurityContextEx.RunAsAction action)Description copied from interface:SecurityContextExRuns specified Runnable with system privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeExceptionMethod can be used instead ofSecurityContextEx.runAsSystem(jetbrains.buildServer.serverSide.SecurityContextEx.RunAsAction)in case {@param action} does not throw checked exception or no specific exception handling is required.- Specified by:
runAsSystemUncheckedin interfaceSecurityContextEx- Parameters:
action- action to run
-
runAsSystemUnchecked
public <T> T runAsSystemUnchecked(@NotNull SecurityContextEx.RunAsActionWithResult<T> action)- Specified by:
runAsSystemUncheckedin interfaceSecurityContextEx
-
runAs
public void runAs(@NotNull AuthorityHolder authority, @NotNull SecurityContextEx.RunAsAction action) throws Throwable- Specified by:
runAsin interfaceSecurityContextEx- Throws:
Throwable
-
runAsUnchecked
public void runAsUnchecked(@NotNull AuthorityHolder authority, @NotNull SecurityContextEx.RunAsAction action)Description copied from interface:SecurityContextExRuns specified Runnable with {@param authority} privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeExceptionMethod can be used instead ofSecurityContextEx.runAs(jetbrains.buildServer.serverSide.auth.AuthorityHolder, jetbrains.buildServer.serverSide.SecurityContextEx.RunAsAction)in case {@param action} does not throw checked exception or no specific exception handling is required.- Specified by:
runAsUncheckedin interfaceSecurityContextEx- Parameters:
authority- autority holder those privileges will be used to run actionaction- action to run
-
runAsUnchecked
public <T> T runAsUnchecked(@NotNull AuthorityHolder authority, @NotNull SecurityContextEx.RunAsActionWithResult<T> action)- Specified by:
runAsUncheckedin interfaceSecurityContextEx
-
runAs
public <T> T runAs(@NotNull AuthorityHolder authority, @NotNull SecurityContextEx.RunAsActionWithResult<T> action) throws Throwable- Specified by:
runAsin interfaceSecurityContextEx- Throws:
Throwable
-
isSystemAccess
public boolean isSystemAccess()
- Specified by:
isSystemAccessin interfaceSecurityContextEx- Returns:
- true if current authority holder is system
-
restrictByServerPermissions
@NotNull public AuthorityHolder restrictByServerPermissions(@NotNull AuthorityHolder authorityHolder)
Description copied from interface:SecurityContextExFilters out permissions that are not available on the server - due to current server responsibilities- Specified by:
restrictByServerPermissionsin interfaceSecurityContextEx
-
getGloballyAllowedPermissions
@NotNull public Permissions getGloballyAllowedPermissions()
- Specified by:
getGloballyAllowedPermissionsin interfaceSecurityContextEx- Returns:
- Permissions containing all permissions which are allowed on this server. Any permission not available in this set won't be working for any user even if granted - except for Super User.
-
describeAuthorityHolder
@NotNull public String describeAuthorityHolder(@NotNull AuthorityHolder authorityHolder)
- Specified by:
describeAuthorityHolderin interfaceSecurityContextEx- Returns:
- Human-readable description of authrity holder instamce.
-
getAccessChecker
@NotNull public AccessChecker getAccessChecker()
Description copied from interface:SecurityContextExReturnsAccessCheckerinstance that should be used for various security asserts.- Specified by:
getAccessCheckerin interfaceSecurityContextEx
-
-