pypicloud.access.remote module¶
Backend that defers to another server for access control
- class pypicloud.access.remote.RemoteAccessBackend(request=None, settings=None, server=None, auth=None, **kwargs)[source]¶
Bases:
IAccessBackend
This backend allows you to defer all user auth and permissions to a remote server. It requires the
requests
package.- group_members(group)[source]¶
Get a list of users that belong to a group
- Parameters
- groupstr
- Returns
- userslist
List of user names
- group_package_permissions(group)[source]¶
Get a list of all packages that a group has permissions on
- Parameters
- groupstr
- Returns
- packageslist
List of dicts. Each dict contains ‘package’ (str) and ‘permissions’ (list)
- group_permissions(package)[source]¶
Get a mapping of all groups to their permissions on a package
- Parameters
- packagestr
The name of a python package
- Returns
- permissionsdict
mapping of group name to a list of permissions (which can contain ‘read’ and/or ‘write’)
- groups(username=None)[source]¶
Get a list of all groups
If a username is specified, get all groups that the user belongs to
- Parameters
- usernamestr, optional
- Returns
- groupslist
List of group names
- is_admin(username)[source]¶
Check if the user is an admin
- Parameters
- usernamestr
- Returns
- is_adminbool
- user_data(username=None)[source]¶
Get a list of all users or data for a single user
For Mutable backends, this MUST exclude all pending users
- Returns
- userslist
Each user is a dict with a ‘username’ str, and ‘admin’ bool
- userdict
If a username is passed in, instead return one user with the fields above plus a ‘groups’ list.
- user_package_permissions(username)[source]¶
Get a list of all packages that a user has permissions on
- Parameters
- usernamestr
- Returns
- packageslist
List of dicts. Each dict contains ‘package’ (str) and ‘permissions’ (list)