Leosac  0.8.0
Open Source Access Control
Leosac::Module::Auth::AuthFileModule Class Reference

This implements a authentication module that use files to store access permissions. More...

#include <AuthFileModule.hpp>

+ Inheritance diagram for Leosac::Module::Auth::AuthFileModule:
+ Collaboration diagram for Leosac::Module::Auth::AuthFileModule:

Public Member Functions

 AuthFileModule (zmqpp::context &ctx, zmqpp::socket *pipe, const boost::property_tree::ptree &cfg, CoreUtilsPtr utils)
 
 AuthFileModule (const AuthFileModule &)=delete
 
 ~AuthFileModule ()
 
- Public Member Functions inherited from Leosac::Module::BaseModule
 BaseModule (zmqpp::context &ctx, zmqpp::socket *pipe, const boost::property_tree::ptree &cfg, CoreUtilsPtr utils)
 Constructor of BaseModule. More...
 
virtual ~BaseModule ()=default
 
virtual void run ()
 This is the main loop of the module. More...
 

Protected Member Functions

virtual void dump_additional_config (zmqpp::message *out) const override
 We have one config file per authenticator object. More...
 
- Protected Member Functions inherited from Leosac::Module::BaseModule
virtual void handle_pipe ()
 The base class register the pipe_ socket to its reactor_ so that this function is called when the pipe_ is available from reading. More...
 
virtual void handle_control ()
 Handle called when a message on the module's control socket arrives. More...
 
void dump_config (ConfigManager::ConfigFormat fmt, zmqpp::message *out_msg) const
 Fills a message with the module's configuration information. More...
 
void config_check (const std::string &obj_name, Leosac::Hardware::DeviceClass type)
 An helper that checks configuration the existence of some objects. More...
 
void config_check (const std::string &obj_name)
 An helper that checks configuration the existence of some objects. More...
 

Private Member Functions

void process_config ()
 Processing the configuration tree, spawning AuthFileInstance object as described in the configuration file. More...
 

Private Attributes

std::vector< AuthFileInstancePtrauthenticators_
 Authenticator instance. More...
 

Additional Inherited Members

- Protected Attributes inherited from Leosac::Module::BaseModule
zmqpp::context & ctx_
 A reference to the ZeroMQ context in case you need it to create additional socket. More...
 
zmqpp::socket & pipe_
 A reference to the pair socket that link back to the module manager. More...
 
boost::property_tree::ptree config_
 The configuration tree passed to the start_module function. More...
 
CoreUtilsPtr utils_
 Pointer to the core utils, which gives access to scheduler and others. More...
 
bool is_running_
 Boolean indicating whether the main loop should run or not. More...
 
zmqpp::socket control_
 Control REP socket. More...
 
zmqpp::reactor reactor_
 The reactor object we poll() on in the main loop. More...
 
std::string name_
 

Detailed Description

This implements a authentication module that use files to store access permissions.

This module conforms to Message Passing Specifications.

See also
Configuration Options for end user doc

Definition at line 42 of file AuthFileModule.hpp.

Constructor & Destructor Documentation

◆ AuthFileModule() [1/2]

AuthFileModule::AuthFileModule ( zmqpp::context &  ctx,
zmqpp::socket *  pipe,
const boost::property_tree::ptree &  cfg,
CoreUtilsPtr  utils 
)

Definition at line 27 of file AuthFileModule.cpp.

◆ AuthFileModule() [2/2]

Leosac::Module::Auth::AuthFileModule::AuthFileModule ( const AuthFileModule )
delete

◆ ~AuthFileModule()

AuthFileModule::~AuthFileModule ( )

Definition at line 41 of file AuthFileModule.cpp.

Member Function Documentation

◆ dump_additional_config()

void AuthFileModule::dump_additional_config ( zmqpp::message *  out) const
overrideprotectedvirtual

We have one config file per authenticator object.

Reimplemented from Leosac::Module::BaseModule.

Definition at line 76 of file AuthFileModule.cpp.

◆ process_config()

void AuthFileModule::process_config ( )
private

Processing the configuration tree, spawning AuthFileInstance object as described in the configuration file.

Definition at line 45 of file AuthFileModule.cpp.

Member Data Documentation

◆ authenticators_

std::vector<AuthFileInstancePtr> Leosac::Module::Auth::AuthFileModule::authenticators_
private

Authenticator instance.

Definition at line 69 of file AuthFileModule.hpp.


The documentation for this class was generated from the following files: