xrootd
XrdMacaroonsAuthz.hh
Go to the documentation of this file.
1 
3 #include "XrdSys/XrdSysError.hh"
4 
5 
6 class XrdSysError;
7 
8 namespace Macaroons
9 {
10 
11 class Authz : public XrdAccAuthorize
12 {
13 public:
14  Authz(XrdSysLogger *lp, const char *parms, XrdAccAuthorize *chain);
15 
16  virtual ~Authz() {}
17 
18  virtual XrdAccPrivs Access(const XrdSecEntity *Entity,
19  const char *path,
20  const Access_Operation oper,
21  XrdOucEnv *env);
22 
23  virtual int Audit(const int accok, const XrdSecEntity *Entity,
24  const char *path, const Access_Operation oper,
25  XrdOucEnv *Env)
26  {
27  return 0;
28  }
29 
30  virtual int Test(const XrdAccPrivs priv,
31  const Access_Operation oper)
32  {
33  return 0;
34  }
35 
36 private:
37  XrdAccPrivs OnMissing(const XrdSecEntity *Entity,
38  const char *path,
39  const Access_Operation oper,
40  XrdOucEnv *env);
41 
42  ssize_t m_max_duration;
45  std::string m_secret;
46  std::string m_location;
48 };
49 
50 }
Definition: XrdMacaroonsAuthz.hh:8
virtual int Test(const XrdAccPrivs priv, const Access_Operation oper)
Definition: XrdMacaroonsAuthz.hh:30
virtual int Audit(const int accok, const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *Env)
Definition: XrdMacaroonsAuthz.hh:23
XrdAccPrivs
Definition: XrdAccPrivs.hh:39
virtual ~Authz()
Definition: XrdMacaroonsAuthz.hh:16
XrdAccPrivs OnMissing(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
Definition: XrdAccAuthorize.hh:65
Definition: XrdSysError.hh:89
int m_authz_behavior
Definition: XrdMacaroonsAuthz.hh:47
std::string m_location
Definition: XrdMacaroonsAuthz.hh:46
Authz(XrdSysLogger *lp, const char *parms, XrdAccAuthorize *chain)
Definition: XrdOucEnv.hh:41
Access_Operation
The following are supported operations.
Definition: XrdAccAuthorize.hh:41
Definition: XrdSysLogger.hh:52
ssize_t m_max_duration
Definition: XrdMacaroonsAuthz.hh:42
XrdAccAuthorize * m_chain
Definition: XrdMacaroonsAuthz.hh:43
virtual XrdAccPrivs Access(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
XrdSysError m_log
Definition: XrdMacaroonsAuthz.hh:44
Definition: XrdSecEntity.hh:63
Definition: XrdMacaroonsAuthz.hh:11
std::string m_secret
Definition: XrdMacaroonsAuthz.hh:45