Class TableDataCacheProxy.TableAccessCheckerImpl
java.lang.Object
com.illumon.iris.db.v2.locations.server.TableDataCacheProxy.TableAccessCheckerImpl
- All Implemented Interfaces:
TableDataProtocol.TableAccessChecker
- Enclosing class:
- TableDataCacheProxy
public static class TableDataCacheProxy.TableAccessCheckerImpl
extends Object
implements TableDataProtocol.TableAccessChecker
The TDCP accepts authenticated RemoteTableDataService connections, and must assess whether the associated users
can see tables. This assessment uses PermissionFilterProvider, which requires a Database.
A local OnDiskQueryDatabase will suffice.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
hasPermission
(io.deephaven.enterprise.auth.UserContext authenticatedUser, TableKey tableKey) According toPermissionFilterProvider.getFiltersForTable(Database, String, String, boolean)
, "An empty list, means that no filtering is necessary.
-
Method Details
-
hasPermission
public boolean hasPermission(@Nullable io.deephaven.enterprise.auth.UserContext authenticatedUser, @NotNull TableKey tableKey) According toPermissionFilterProvider.getFiltersForTable(Database, String, String, boolean)
, "An empty list, means that no filtering is necessary. A null means the user does not have permission to view the table."
This permission check is at the table level, not row level, so the answer is based on whether there are any filters at all for the user on the given table.- Specified by:
hasPermission
in interfaceTableDataProtocol.TableAccessChecker
- Parameters:
authenticatedUser
- optional user requesting the tabletableKey
- the table requested- Returns:
- true if the user may see the table
-