handlers: permisison check for all pages + retrieve user-specific permissions for pages (if any)
This commit is contained in:
@@ -74,3 +74,19 @@ QueryOption Handler::queryOption(const Request &r) const
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Response Handler::handle(const Request &r)
|
||||
{
|
||||
if(!canAccess(this->userSession->user.permissions))
|
||||
{
|
||||
return errorResponse("Permission denied", accessErrorMessage());
|
||||
}
|
||||
return handleRequest(r);
|
||||
}
|
||||
|
||||
Permissions Handler::effectivePermissions(std::string page)
|
||||
{
|
||||
return this->database->createPermissionsDao()
|
||||
->find(page, this->userSession->user.login)
|
||||
.value_or(this->userSession->user.permissions);
|
||||
}
|
||||
|
Reference in New Issue
Block a user