11.07.2015 Views

Borland VisiBroker® 7.0 - Borland Technical Publications

Borland VisiBroker® 7.0 - Borland Technical Publications

Borland VisiBroker® 7.0 - Borland Technical Publications

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

vbsec::AttributeCodecFor the provider's options, the following additional information is also passed during theinitialization:NameORBLoggerLogLevelDescriptionThe ORB instance used for the current system.A SimpleLogger instance used for the current system for the purpose of logging.An integer value denoting the security logging level.ExceptionsReturnsExceptionsReturnsExceptionsReturnsExceptionsReturnsExceptionsArgumentsReturnsExceptionsThrows InitializationException if initialization of this AttributeCodec object fails.virtual std::string getName() const =0;This method returns the name of the provider implementation.The provider name string.nonevirtual CSIIOP::ServiceConfigurationList* getPrivilegeAuthorities() const =0;This method returns a list of supported privilege authorities.A list of privilege authorities.none4. virtual CSI::AuthorizationElementType getSupportedEncoding() const = 0;This method returns the supported AuthorizationElement type.An AuthorizationElement type.nonevirtual bool supportsClientDelegation() const =0;Returns whether this implementation supports ClientDelegation.true|falsenonevirtual CSI::AuthorizationToken* encode (constCSIIOP::ServiceConfigurationList& privilege_authorities, vbsec::Privileges&caller_privileges, vbsec::Privileges& asserter_privileges) =0;This method encodes privileges as AuthorizationElements. This method encodes theprivilege attributes of the given caller and the given asserter, if there is one. It willextract the privilege information from the subject and privilege map of the caller and theasserter.Additionally, an implementation of the AttributeCodec (if supports ClientDelegation)may choose to verify whether the asserter is allowed to assert the caller based on theclient delegation information presented by this caller.This method takes the following arguments:■■A set of caller privileges attributes.A set of asserter privileges attributes.Encoded caller and asserter privileges.Throws NoDelegationPermissionException if the assertion is not allowed.virtual void decode (const ::CSI::AuthorizationToken& encoded_attributes,vbsec::Privileges& caller_privileges, vbsec::Privileges& asserter_privileges)=0;This method decodes authorization elements and populates the correspondingprivileges objects. This is the inversion process of the encode method. When a serverreceives a set of encoded AuthorizationElements, it passes these elements to theChapter 12: Security SPI for C++ 129

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!