1.4 KiB
1.4 KiB
Menu = quart_imp.security/permission_check
Title = permission_check - quart_imp.security
from quart_imp.security import permission_check
permission_check(
session_key: str,
values_allowed: t.Union[t.List[t.Union[str, int, bool]], str, int, bool],
fail_endpoint: t.Optional[str] = None,
endpoint_kwargs: t.Optional[t.Dict[str, t.Union[str, int]]] = None,
message: t.Optional[str] = None,
message_category: str = "message"
)
@permission_check(...)
A decorator that checks if the specified session key exists and its value(s) match the specified value(s).
session_key
The session key to check for.
values_allowed
A list of or singular value(s) that the session key must contain.
fail_endpoint
The endpoint to redirect to if the session key does not exist or does not contain the specified values.
endpoint_kwargs
A dictionary of keyword arguments to pass to the redirect endpoint.
message
If a message is specified, a flash message is shown.
message_category
The category of the flash message.
Example:
@bp.route("/admin-page", methods=["GET"])
@login_check(
'logged_in',
True,
'blueprint.login_page'
) # can be mixed with login_check
@permission_check(
'permissions',
['admin'],
fail_endpoint='www.index',
message="Failed message"
)
async def admin_page():
...