1
0

handlers: permisison check for all pages + retrieve user-specific permissions for pages (if any)

Este cometimento está contido em:
2019-05-03 15:59:29 +02:00
ascendente e87c3a0f4d
cometimento 7630301168
23 ficheiros modificados com 167 adições e 34 eliminações

Ver ficheiro

@@ -18,6 +18,8 @@ class Handler
Session *userSession;
UrlProvider *urlProvider;
// TODO: may not to find a better place for this method
Permissions effectivePermissions(std::string page);
QueryOption queryOption(const Request &r) const;
public:
@@ -29,7 +31,21 @@ class Handler
this->urlProvider = &provider;
this->cache = &cache;
}
virtual Response handle(const Request &r) = 0;
virtual Response handle(const Request &r);
virtual Response handleRequest(const Request &r)
{
return this->errorResponse("Invalid action", "This action is not implemented yet");
}
virtual bool canAccess(const Permissions &perms)
{
return false;
}
virtual std::string accessErrorMessage()
{
return "No permission for this action";
}
void setGeneralVars(TemplatePage &page);
virtual ~Handler()
{