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 }
Macaroons::Authz::OnMissing
XrdAccPrivs OnMissing(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
Macaroons::Authz::m_secret
std::string m_secret
Definition: XrdMacaroonsAuthz.hh:45
Macaroons
Definition: XrdMacaroonsAuthz.hh:8
Macaroons::Authz::m_location
std::string m_location
Definition: XrdMacaroonsAuthz.hh:46
Macaroons::Authz::m_authz_behavior
int m_authz_behavior
Definition: XrdMacaroonsAuthz.hh:47
Access_Operation
Access_Operation
The following are supported operations.
Definition: XrdAccAuthorize.hh:41
Macaroons::Authz::~Authz
virtual ~Authz()
Definition: XrdMacaroonsAuthz.hh:16
XrdAccAuthorize
Definition: XrdAccAuthorize.hh:64
XrdOucEnv
Definition: XrdOucEnv.hh:41
Macaroons::Authz::Access
virtual XrdAccPrivs Access(const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
XrdSysLogger
Definition: XrdSysLogger.hh:52
Macaroons::Authz::m_log
XrdSysError m_log
Definition: XrdMacaroonsAuthz.hh:44
XrdAccPrivs
XrdAccPrivs
Definition: XrdAccPrivs.hh:39
Macaroons::Authz::Authz
Authz(XrdSysLogger *lp, const char *parms, XrdAccAuthorize *chain)
XrdSecEntity
Definition: XrdSecEntity.hh:51
XrdSysError
Definition: XrdSysError.hh:89
Macaroons::Authz::m_chain
XrdAccAuthorize * m_chain
Definition: XrdMacaroonsAuthz.hh:43
Macaroons::Authz::Test
virtual int Test(const XrdAccPrivs priv, const Access_Operation oper)
Definition: XrdMacaroonsAuthz.hh:30
Macaroons::Authz::m_max_duration
ssize_t m_max_duration
Definition: XrdMacaroonsAuthz.hh:42
Macaroons::Authz::Audit
virtual int Audit(const int accok, const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *Env)
Definition: XrdMacaroonsAuthz.hh:23
Macaroons::Authz
Definition: XrdMacaroonsAuthz.hh:11
XrdAccAuthorize.hh
XrdSysError.hh