Interface GateKeeper
-
- All Known Implementing Classes:
DownloadGateKeeper
public interface GateKeeper
Manages the granting of temporary permissions to retrieve resources. It is assumed that all resources managed by a GateKeeper are restricted, with permission being granted for particular users to particular resources. Resources are identified by a path (usually relative to some directory or URI root), the meaning of the path is implementation-dependent.Implementations of this interface are responsible for expiring permissions after some reasonable time period
The interface was written to manage access to Confluence's temp directory, from which exports and backups can only be downloaded by the user who created them.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addKey(String path, com.atlassian.user.User user)
Permit a user to download a particular resource.void
addKey(String path, String userName)
Permit a user to download a particular resource.void
allowAnonymousAccess(String path)
Allow access to a resource for any user, including the anonymous user.void
cleanAllKeys()
Revoke all granted permissions.boolean
isAccessPermitted(String path, com.atlassian.user.User user)
Determine whether a user is permitted to access a resource.boolean
isAccessPermitted(String path, String userName)
Determine whether a user is permitted to access a resource.
-
-
-
Method Detail
-
addKey
void addKey(String path, com.atlassian.user.User user)
Permit a user to download a particular resource. This permission is temporary, and may expire after whatever time period the GateKeeper thinks is reasonable.- Parameters:
path
- the path to the resource being made accessibleuser
- the user to grant permission for.null
may be used to represent anonymous users.
-
addKey
void addKey(String path, String userName)
Permit a user to download a particular resource. This permission is temporary, and may expire after whatever time period the GateKeeper thinks is reasonable.- Parameters:
path
- the path to the resource being made accessibleuserName
- the name of the user being given permission
-
isAccessPermitted
boolean isAccessPermitted(String path, com.atlassian.user.User user)
Determine whether a user is permitted to access a resource.- Parameters:
path
- the path to the resource being requesteduser
- the user requesting permission to retrieve that resource- Returns:
- true if the user is permitted to retrieve that resource, false otherwise
-
isAccessPermitted
boolean isAccessPermitted(String path, String userName)
Determine whether a user is permitted to access a resource.- Parameters:
path
- the path to the resource being requesteduserName
- the name of the user requesting permission to retrieve that resource- Returns:
- true if the user is permitted to retrieve that resource, false otherwise
-
cleanAllKeys
void cleanAllKeys()
Revoke all granted permissions.
-
allowAnonymousAccess
void allowAnonymousAccess(String path)
Allow access to a resource for any user, including the anonymous user. This permission is temporary, and may expire after whatever time period the GateKeeper thinks is reasonable.- Parameters:
path
- the path to the resource being made accessible
-
-