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:
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 }
Access_Operation
The following are supported operations.
Definition: XrdAccAuthorize.hh:41
XrdAccPrivs
Definition: XrdAccPrivs.hh:39
Definition: XrdMacaroonsAuthz.hh:12
std::string m_location
Definition: XrdMacaroonsAuthz.hh:46
int m_authz_behavior
Definition: XrdMacaroonsAuthz.hh:47
virtual XrdAccPrivs Access(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
ssize_t m_max_duration
Definition: XrdMacaroonsAuthz.hh:42
virtual ~Authz()
Definition: XrdMacaroonsAuthz.hh:16
XrdSysError m_log
Definition: XrdMacaroonsAuthz.hh:44
std::string m_secret
Definition: XrdMacaroonsAuthz.hh:45
Authz(XrdSysLogger *lp, const char *parms, XrdAccAuthorize *chain)
XrdAccAuthorize * m_chain
Definition: XrdMacaroonsAuthz.hh:43
XrdAccPrivs OnMissing(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
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
Definition: XrdAccAuthorize.hh:66
Definition: XrdOucEnv.hh:42
Definition: XrdSecEntity.hh:64
Definition: XrdSysError.hh:90
Definition: XrdSysLogger.hh:53
Definition: XrdMacaroonsAuthz.hh:9