foca.security.access_control package
Subpackages
Submodules
foca.security.access_control.access_control_server module
“Controllers for permission management endpoints.
- foca.security.access_control.access_control_server.deletePermission(id: str) str
Method to delete a particular permission.
- Parameters:
id – Permission identifier.
- Returns:
Delete permission identifier.
- foca.security.access_control.access_control_server.getAllPermissions(limit=None) List[Dict]
Method to fetch all permissions.
- Parameters:
limit – Number of objects requested.
- Returns:
List of permission dicts.
- foca.security.access_control.access_control_server.getPermission(id: str) Dict
Method to fetch a particular permission.
- Parameters:
id – Permission identifier.
- Returns:
Permission data for the given id.
- foca.security.access_control.access_control_server.postPermission() str
Method to register new permissions.
- Returns:
Identifier of the new permission added.
- foca.security.access_control.access_control_server.putPermission(id: str) str
Update permission with a user-supplied ID.
- Parameters:
id – Identifier of permission to be updated.
- Returns:
Identifier of updated permission.
foca.security.access_control.constants module
File to store permission based constants.
foca.security.access_control.register_access_control module
Methods to manage permission management configuration
- foca.security.access_control.register_access_control.check_permissions(_fn: Callable | None = None) Callable
Decorator for checking user access to resource.
- Returns:
The decorated function.
- foca.security.access_control.register_access_control.register_access_control(cnx_app: FlaskApp, mongo_config: MongoConfig | None, access_control_config: AccessControlConfig) FlaskApp
Register access control configuration with flask app.
- Parameters:
cnx_app – Connexion application instance.
mongo_config –
foca.models.config.AccessControlConfig
instance describing databases and collections to be registered with app.access_control_config –
foca.models.config.AccessControlConfig
instance describing access control to be registered with app.
- Returns:
Connexion application instance with registered access control config.
- foca.security.access_control.register_access_control.register_casbin_enforcer(app: FlaskApp, access_control_config: AccessControlConfig, mongo_config: MongoConfig) FlaskApp
Method to add casbin permission enforcer.
- Parameters:
app – Connexion app.
access_control_config –
foca.models.config.AccessControlConfig
instance describing access control to be registered with app.mongo_config –
foca.models.config.MongoConfig
instance describing databases and collections to be registered with app.
- Returns:
Connexion application instance with registered casbin configuration.
- foca.security.access_control.register_access_control.register_permission_specs(app: FlaskApp, access_control_config: AccessControlConfig)
Register open api specs for permission management.
- Parameters:
app – Connexion application instance.
access_control_config –
foca.models.config.AccessControlConfig
instance describing access control to be registered with app.
- Returns:
Connexion app with updated permission specifications.