Macaroons::Authz Class Reference

#include <XrdMacaroonsAuthz.hh>

Inheritance diagram for Macaroons::Authz:
Inheritance graph
[legend]
Collaboration diagram for Macaroons::Authz:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Authz (XrdSysLogger *lp, const char *parms, XrdAccAuthorize *chain)
virtual ~Authz ()
virtual XrdAccPrivs Access (const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)
virtual int Audit (const int accok, const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *Env)
virtual int Test (const XrdAccPrivs priv, const Access_Operation oper)

Private Member Functions

XrdAccPrivs OnMissing (const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *env)

Private Attributes

ssize_t m_max_duration
XrdAccAuthorizem_chain
XrdSysError m_log
std::string m_secret
std::string m_location
int m_authz_behavior

Constructor & Destructor Documentation

Macaroons::Authz::Authz ( XrdSysLogger lp,
const char *  parms,
XrdAccAuthorize chain 
)
virtual Macaroons::Authz::~Authz (  )  [inline, virtual]

Member Function Documentation

virtual XrdAccPrivs Macaroons::Authz::Access ( const XrdSecEntity Entity,
const char *  path,
const Access_Operation  oper,
XrdOucEnv Env 
) [virtual]

Check whether or not the client is permitted specified access to a path.

Parameters:
Entity -> Authentication information
path -> The logical path which is the target of oper
oper -> The operation being attempted (see the enum above). If the oper is AOP_Any, then the actual privileges are returned and the caller may make subsequent tests using Test().
Env -> Environmental information at the time of the operation as supplied by the path CGI string. This is optional and the pointer may be zero.
Returns:
Permit: a non-zero value (access is permitted) Deny: zero (access is denied)

Implements XrdAccAuthorize.

virtual int Macaroons::Authz::Audit ( const int  accok,
const XrdSecEntity Entity,
const char *  path,
const Access_Operation  oper,
XrdOucEnv Env 
) [inline, virtual]

Route an audit message to the appropriate audit exit routine. See XrdAccAudit.h for more information on how the default implementation works. Currently, this method is not called by the ofs but should be used by the implementation to record denials or grants, as warranted.

Parameters:
accok -> True is access was grated; false otherwise.
Entity -> Authentication information
path -> The logical path which is the target of oper
oper -> The operation being attempted (see above)
Env -> Environmental information at the time of the operation as supplied by the path CGI string. This is optional and the pointer may be zero.
Returns:
Success: !0 information recorded. Failure: 0 information could not be recorded.

Implements XrdAccAuthorize.

XrdAccPrivs Macaroons::Authz::OnMissing ( const XrdSecEntity Entity,
const char *  path,
const Access_Operation  oper,
XrdOucEnv env 
) [private]
virtual int Macaroons::Authz::Test ( const XrdAccPrivs  priv,
const Access_Operation  oper 
) [inline, virtual]

Check whether the specified operation is permitted.

Parameters:
priv -> the privileges as returned by Access().
oper -> The operation being attempted (see above)
Returns:
Permit: a non-zero value (access is permitted) Deny: zero (access is denied)

Implements XrdAccAuthorize.


Member Data Documentation

std::string Macaroons::Authz::m_location [private]
std::string Macaroons::Authz::m_secret [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 8 May 2020 for xrootd by  doxygen 1.6.1