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 AuthorityHolder
NO_PERMISSIONS
-
Constructor Summary
Constructors Constructor Description SecurityContextImpl(ServerResponsibility serverResponsibility)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearContext()
Removes current authority holder from the contextString
describeAuthorityHolder(AuthorityHolder authorityHolder)
AccessChecker
getAccessChecker()
ReturnsAccessChecker
instance that should be used for various security asserts.AuthorityHolder
getAuthorityHolder()
Retrieves authority holder from current context.Permissions
getGloballyAllowedPermissions()
AuthorityHolder
getOriginalAuthority()
Normally permissions that are not available on the current node are filtered out from all authority holders.boolean
isSystemAccess()
AuthorityHolder
restrictByServerPermissions(AuthorityHolder authorityHolder)
Filters out permissions that are not available on the server - due to current server responsibilitiesvoid
runAs(AuthorityHolder authority, SecurityContextEx.RunAsAction action)
<T> T
runAs(AuthorityHolder authority, SecurityContextEx.RunAsActionWithResult<T> action)
void
runAsSystem(SecurityContextEx.RunAsAction action)
Runs specified Runnable with system privileges (in all permissions mode)<T> T
runAsSystem(SecurityContextEx.RunAsActionWithResult<T> action)
void
runAsSystemUnchecked(SecurityContextEx.RunAsAction action)
Runs specified Runnable with system privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeException
Method 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> T
runAsSystemUnchecked(SecurityContextEx.RunAsActionWithResult<T> action)
void
runAsUnchecked(AuthorityHolder authority, SecurityContextEx.RunAsAction action)
Runs specified Runnable with {@param authority} privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeException
Method 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> T
runAsUnchecked(AuthorityHolder authority, SecurityContextEx.RunAsActionWithResult<T> action)
void
setAccessChecker(AccessChecker accessChecker)
void
setAuthorityHolder(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:
getAuthorityHolder
in interfaceSecurityContext
- Returns:
- AuthorityHolder, never null
-
getOriginalAuthority
@NotNull public AuthorityHolder getOriginalAuthority()
Description copied from interface:SecurityContextEx
Normally 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:
getOriginalAuthority
in interfaceSecurityContextEx
-
setAuthorityHolder
public void setAuthorityHolder(@NotNull AuthorityHolder authority)
Sets AuthorityHolder in the context- Specified by:
setAuthorityHolder
in interfaceSecurityContextEx
- Parameters:
authority
-
-
clearContext
public void clearContext()
Removes current authority holder from the context- Specified by:
clearContext
in interfaceSecurityContextEx
-
runAsSystem
public void runAsSystem(@NotNull SecurityContextEx.RunAsAction action) throws Throwable
Description copied from interface:SecurityContextEx
Runs specified Runnable with system privileges (in all permissions mode)- Specified by:
runAsSystem
in interfaceSecurityContextEx
- Parameters:
action
- action to run- Throws:
Throwable
- exception
-
runAsSystem
public <T> T runAsSystem(@NotNull SecurityContextEx.RunAsActionWithResult<T> action) throws Throwable
- Specified by:
runAsSystem
in interfaceSecurityContextEx
- Throws:
Throwable
-
runAsSystemUnchecked
public void runAsSystemUnchecked(@NotNull SecurityContextEx.RunAsAction action)
Description copied from interface:SecurityContextEx
Runs specified Runnable with system privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeException
Method 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:
runAsSystemUnchecked
in interfaceSecurityContextEx
- Parameters:
action
- action to run
-
runAsSystemUnchecked
public <T> T runAsSystemUnchecked(@NotNull SecurityContextEx.RunAsActionWithResult<T> action)
- Specified by:
runAsSystemUnchecked
in interfaceSecurityContextEx
-
runAs
public void runAs(@NotNull AuthorityHolder authority, @NotNull SecurityContextEx.RunAsAction action) throws Throwable
- Specified by:
runAs
in interfaceSecurityContextEx
- Throws:
Throwable
-
runAsUnchecked
public void runAsUnchecked(@NotNull AuthorityHolder authority, @NotNull SecurityContextEx.RunAsAction action)
Description copied from interface:SecurityContextEx
Runs specified Runnable with {@param authority} privileges (in all permissions mode) Occured exceptions will be rethrown asRuntimeException
Method 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:
runAsUnchecked
in 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:
runAsUnchecked
in interfaceSecurityContextEx
-
runAs
public <T> T runAs(@NotNull AuthorityHolder authority, @NotNull SecurityContextEx.RunAsActionWithResult<T> action) throws Throwable
- Specified by:
runAs
in interfaceSecurityContextEx
- Throws:
Throwable
-
isSystemAccess
public boolean isSystemAccess()
- Specified by:
isSystemAccess
in interfaceSecurityContextEx
- Returns:
- true if current authority holder is system
-
restrictByServerPermissions
@NotNull public AuthorityHolder restrictByServerPermissions(@NotNull AuthorityHolder authorityHolder)
Description copied from interface:SecurityContextEx
Filters out permissions that are not available on the server - due to current server responsibilities- Specified by:
restrictByServerPermissions
in interfaceSecurityContextEx
-
getGloballyAllowedPermissions
@NotNull public Permissions getGloballyAllowedPermissions()
- Specified by:
getGloballyAllowedPermissions
in 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:
describeAuthorityHolder
in interfaceSecurityContextEx
- Returns:
- Human-readable description of authrity holder instamce.
-
getAccessChecker
@NotNull public AccessChecker getAccessChecker()
Description copied from interface:SecurityContextEx
ReturnsAccessChecker
instance that should be used for various security asserts.- Specified by:
getAccessChecker
in interfaceSecurityContextEx
-
-