handlers: permisison check for all pages + retrieve user-specific permissions for pages (if any)
Este cometimento está contido em:
@@ -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()
|
||||
{
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador