namespace Akenti class AkentiExtension : public AkentiObject

An Akenti extension defines constraints to be placed on attribute certificates

Inheritance:


Public Fields

static std::string TIME_PER_DAY_VALIDATION
This attribute specifies the time duration of the validity of the certificate on a per day basis
virtual ~Logger ()
Destroys this object
static bool hasBeenInitialized ()
Returns true if init has been called
static Logger* init (const string& id, string& message)
Returns a Logger given an identity string specified by id
static int close ()
Closes the destination of the logs
static int write (int level, const string& key, const string& message)
Writes this log to the destination provided that level is less than or equal to the logging level specified in the config file
static int setLevel (int level)
Sets the logging level for this Logger to level
virtual int doWrite (int, const string&, const string&, const string&)
virtual int doClose ()
virtual int doSetLevel (int)
static std::string OTHER_ROLES
A subject may play different roles according to a single Attribute Certificate Issuer
static std::string ROLE_AND_TIME_FOR_ROLE
This attribute is similar to the above, but places a time restriction for a particular role
static std::string ADDITIONAL_CONSTRAINT
This attribute specifies any additional constraint that can be placed on a subject or a resource

Public Methods

AkentiExtension (const string& name = "NO_NAME", const string& value = "NO_VALUE", bool critical = false)
Default Constructor
~AkentiExtension ()
Destructor
const string& getName () const
Returns the name of the extension
const string& getValue () const
Returns the value of the extension
bool isCritical () const
Returns true if this extension is critical
void writeObject (AkentiOutputStream& drain) const
Writes this object to the AkentiOutputStream object specified by drain
void readObject (AkentiInputStream& source)
Reads this object from the AkentiInputStream object specified by source
string paramString () const
Returns a string representation of this object for debugging purposes

Documentation

An Akenti extension defines constraints to be placed on attribute certificates. It consists of a name and a string value which may be interpreted by the Akenti policy analyzer for standard contraints, or by the resource gateway to allow for extensible contraints. An extension is also marked as critical or not. If it is critical, it must be evaluated and if it cannot be, the attribute must be ignored. Non-critical extensions may be ignored by both the Akenti policy analyzer and the resource gateway.
static std::string TIME_PER_DAY_VALIDATION
This attribute specifies the time duration of the validity of the certificate on a per day basis. For example, the attribute certificate may be valid for one week, but only from 8:00a - 3:30p everyday.

virtual ~Logger()
Destroys this object

static bool hasBeenInitialized()
Returns true if init has been called.
Returns:
true if already initialized.

static Logger* init(const string& id, string& message)
Returns a Logger given an identity string specified by id. This identity string will be included in all the subsequent logs and, if possible, it should indicate who is making the request for access i.e. the remote host that the request comes from and/or the distinguished name of the requestor. This Logger must be freed by the caller. We support 4 logging destinations server, file, stderr, stdout. The destination parameters are loaded from the system properties. The default is stderr. Note NULL is returned if we are unable to open logs destination.
Throws:
Error if logger has been initialized or bad memory allocation
Returns:
a logger that must be freed by the caller.
Parameters:
id - identity string that will be included in each log message
message - string out parameter that stores the outcome of init
See Also:
getSystemProperties()

static int close()
Closes the destination of the logs

static int write(int level, const string& key, const string& message)
Writes this log to the destination provided that level is less than or equal to the logging level specified in the config file. Note: No logs will be writen if a successful call to init(...) has not been made.
Parameters:
level - int logging level of this message
keyword - string application-specific event label
message - string message to be logged
See Also:
Logger::setLogLevel()

static int setLevel(int level)
Sets the logging level for this Logger to level. All write(...) calls include as their first argument a logging level. Only writes with a logging level less than level will be logged. This allows a program to change at runtime how much logging to perform
Returns:
the old logging level
Parameters:
level - int the new logging level for this logger
See Also:
write(int, const string&, const string&).

virtual int doWrite(int, const string&, const string&, const string&)

virtual int doClose()

virtual int doSetLevel(int)

static std::string OTHER_ROLES
A subject may play different roles according to a single Attribute Certificate Issuer. For example, a single person can both be a System administrator and a software developer.

static std::string ROLE_AND_TIME_FOR_ROLE
This attribute is similar to the above, but places a time restriction for a particular role

static std::string ADDITIONAL_CONSTRAINT
This attribute specifies any additional constraint that can be placed on a subject or a resource

AkentiExtension(const string& name = "NO_NAME", const string& value = "NO_VALUE", bool critical = false)
Default Constructor

~AkentiExtension()
Destructor

const string& getName() const
Returns the name of the extension
Returns:
string the name of the extension

const string& getValue() const
Returns the value of the extension
Returns:
string the value of the extension

bool isCritical() const
Returns true if this extension is critical.
Returns:
true if critical

void writeObject(AkentiOutputStream& drain) const
Writes this object to the AkentiOutputStream object specified by drain.
Throws:
IOException if writting fails
Parameters:
drain - used to write this object
See Also:
AkentiOutputStream
IOException

void readObject(AkentiInputStream& source)
Reads this object from the AkentiInputStream object specified by source.
Throws:
IOException if writting fails
Parameters:
source - used to read object
See Also:
AkentiOutputStream
IOException

string paramString() const
Returns a string representation of this object for debugging purposes.
Returns:
debugging info


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de