TAO_Security 3.0.6
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TAO::Security::AccessDecision Class Reference

#include <SL2_SecurityManager.h>

Inheritance diagram for TAO::Security::AccessDecision:
Inheritance graph
[legend]
Collaboration diagram for TAO::Security::AccessDecision:
Collaboration graph
[legend]

Classes

struct  ReferenceKeyType
 

Public Member Functions

 AccessDecision (void)
 
 ~AccessDecision (void)
 
virtual ::CORBA::Boolean access_allowed (const ::SecurityLevel2::CredentialsList &cred_list, ::CORBA::Object_ptr target, const char *operation_name, const char *target_interface_name)
 
virtual ::CORBA::Boolean access_allowed_ex (const char *orb_id, const ::CORBA::OctetSeq &adapter_id, const ::CORBA::OctetSeq &object_id, const ::SecurityLevel2::CredentialsList &cred_list, const char *operation_name, ::CORBA::Boolean collocated_invocation)
 
virtual ::CORBA::Boolean default_decision (void)
 
virtual void default_decision (::CORBA::Boolean d)
 
virtual ::CORBA::Boolean default_collocated_decision (void)
 
virtual void default_collocated_decision (::CORBA::Boolean d)
 
virtual void add_object (const char *orbid, const ::CORBA::OctetSeq &adapter_id, const ::CORBA::OctetSeq &object_id, ::CORBA::Boolean allow_insecure_access)
 
virtual void remove_object (const char *orbid, const ::CORBA::OctetSeq &adapter_id, const ::CORBA::OctetSeq &object_id)
 
- Public Member Functions inherited from TAO::SL2::AccessDecision
boolean access_allowed_ex (in ::CORBA::ORBid orb_id, in ::CORBA::OctetSeq adapter_id, in ::CORBA::OctetSeq object_id, in ::SecurityLevel2::CredentialsList cred_list, in ::CORBA::Identifier operation_name, in boolean collocation_invocation)
 
void add_object (in ::CORBA::ORBid orb_id, in ::CORBA::OctetSeq adapter_id, in ::CORBA::OctetSeq object_id, in boolean allow_insecure_access)
 
void remove_object (in ::CORBA::ORBid orb_id, in ::CORBA::OctetSeq adapter_id, in ::CORBA::OctetSeq object_id)
 
- Public Member Functions inherited from SecurityLevel2::AccessDecision
boolean access_allowed (in SecurityLevel2::CredentialsList cred_list, in Object target, in CORBA::Identifier operation_name, in CORBA::Identifier target_interface_name)
 
- Public Member Functions inherited from CORBA::LocalObject
virtual ~LocalObject ()
 
virtual CORBA::Boolean _non_existent ()
 
virtual char * _repository_id ()
 
virtual CORBA::InterfaceDef_ptr _get_interface ()
 
virtual CORBA::Object_ptr _get_component ()
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual CORBA::Request_ptr _request (const char *operation)
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
virtual CORBA::ULong _hash (CORBA::ULong maximum)
 
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
 
virtual CORBA::ORB_ptr _get_orb ()
 
virtual TAO::ObjectKey_key ()
 
- Public Member Functions inherited from CORBA::Object
virtual ~Object ()
 
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
virtual CORBA::ULong _refcount_value () const
 
virtual TAO_Abstract_ServantBase_servant () const
 
virtual CORBA::Boolean _is_collocated () const
 
virtual CORBA::Boolean _is_local () const
 
 Object (TAO_Stub *p, CORBA::Boolean collocated=false, TAO_Abstract_ServantBase *servant=0, TAO_ORB_Core *orb_core=0)
 
 Object (IOP::IOR *ior, TAO_ORB_Core *orb_core)
 
virtual TAO_Stub_stubobj () const
 
virtual TAO_Stub_stubobj ()
 
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker)
 
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
 
CORBA::Boolean is_evaluated () const
 
TAO_ORB_Coreorb_core () const
 
IOP::IORsteal_ior ()
 
const IOP::IORior () const
 
virtual bool can_convert_to_ior () const
 
virtual char * convert_to_ior (bool use_omg_ior_format, const char *ior_prefix) const
 
void _decr_refcount ()
 
virtual CORBA::Boolean _is_a (const char *logical_type_id)
 
virtual const char * _interface_repository_id () const
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 

Private Types

typedef ReferenceKeyType OBJECT_KEY
 
typedef ACE_Hash_Map_Manager_Ex< OBJECT_KEY, CORBA::Boolean, ACE_Hash< OBJECT_KEY >, ACE_Equal_To< OBJECT_KEY >, ACE_Null_MutexACCESS_MAP_TYPE
 

Private Member Functions

OBJECT_KEY map_key_from_objref (CORBA::Object_ptr obj)
 Encapsulates a TAO-specific way to do object_to_string() without having an ORB reference handy. More...
 
::CORBA::Boolean access_allowed_i (OBJECT_KEY &key, const char *operation_name, CORBA::Boolean collocated=false)
 

Private Attributes

::CORBA::Boolean default_allowance_decision_
 
::CORBA::Boolean default_collocated_decision_
 
ACCESS_MAP_TYPE access_map_
 
TAO_SYNCH_MUTEX map_lock_
 

Additional Inherited Members

- Public Types inherited from CORBA::LocalObject
typedef LocalObject_ptr _ptr_type
 
typedef LocalObject_var _var_type
 
typedef LocalObject_out _out_type
 
- Public Types inherited from CORBA::Object
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from CORBA::LocalObject
static LocalObject_ptr _duplicate (LocalObject_ptr obj)
 
static LocalObject_ptr _nil ()
 
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::Object
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil ()
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 
- Public Attributes inherited from TAO::SL2::AccessDecision
- Protected Member Functions inherited from CORBA::LocalObject
 LocalObject ()
 
- Protected Member Functions inherited from CORBA::Object
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 
- Protected Attributes inherited from CORBA::Object
std::atomic< uint32_t > refcount_
 

Member Typedef Documentation

◆ ACCESS_MAP_TYPE

◆ OBJECT_KEY

Constructor & Destructor Documentation

◆ AccessDecision()

TAO::Security::AccessDecision::AccessDecision ( void  )

Constructor

◆ ~AccessDecision()

TAO::Security::AccessDecision::~AccessDecision ( void  )

Member Function Documentation

◆ access_allowed()

CORBA::Boolean TAO::Security::AccessDecision::access_allowed ( const ::SecurityLevel2::CredentialsList cred_list,
::CORBA::Object_ptr  target,
const char *  operation_name,
const char *  target_interface_name 
)

◆ access_allowed_ex()

CORBA::Boolean TAO::Security::AccessDecision::access_allowed_ex ( const char *  orb_id,
const ::CORBA::OctetSeq adapter_id,
const ::CORBA::OctetSeq object_id,
const ::SecurityLevel2::CredentialsList cred_list,
const char *  operation_name,
::CORBA::Boolean  collocated_invocation 
)

◆ access_allowed_i()

CORBA::Boolean TAO::Security::AccessDecision::access_allowed_i ( OBJECT_KEY key,
const char *  operation_name,
CORBA::Boolean  collocated = false 
)
private

◆ add_object()

virtual void TAO::Security::AccessDecision::add_object ( const char *  orbid,
const ::CORBA::OctetSeq adapter_id,
const ::CORBA::OctetSeq object_id,
::CORBA::Boolean  allow_insecure_access 
)
virtual

◆ default_collocated_decision() [1/2]

virtual void TAO::Security::AccessDecision::default_collocated_decision ( ::CORBA::Boolean  d)
virtual

◆ default_collocated_decision() [2/2]

CORBA::Boolean TAO::Security::AccessDecision::default_collocated_decision ( void  )

Default value returned when a reference is not in the list and we are handling a collocated invocation. At the moment default_decision is already true the value of this attribute doesn't matter anymore.

Implements TAO::SL2::AccessDecision.

◆ default_decision() [1/2]

virtual void TAO::Security::AccessDecision::default_decision ( ::CORBA::Boolean  d)
virtual

◆ default_decision() [2/2]

CORBA::Boolean TAO::Security::AccessDecision::default_decision ( void  )

Default value returned when a reference is not in the list.

Implements TAO::SL2::AccessDecision.

◆ map_key_from_objref()

TAO::Security::AccessDecision::OBJECT_KEY TAO::Security::AccessDecision::map_key_from_objref ( CORBA::Object_ptr  obj)
private

Encapsulates a TAO-specific way to do object_to_string() without having an ORB reference handy.

Note
If OBJECT_KEY changes as described above, this should change so that it generates an OBJECT_KEY.

◆ remove_object()

void TAO::Security::AccessDecision::remove_object ( const char *  orbid,
const ::CORBA::OctetSeq adapter_id,
const ::CORBA::OctetSeq object_id 
)
virtual

Member Data Documentation

◆ access_map_

ACCESS_MAP_TYPE TAO::Security::AccessDecision::access_map_
private

◆ default_allowance_decision_

::CORBA::Boolean TAO::Security::AccessDecision::default_allowance_decision_
private

This is the default value that's returned from access_allowed() when the access table doesn't contain an entry for the reference.

◆ default_collocated_decision_

::CORBA::Boolean TAO::Security::AccessDecision::default_collocated_decision_
private

This is the default value that's returned from access_allowed() when the access table doesn't contain an entry for the reference and we are handling a collocated call

◆ map_lock_

TAO_SYNCH_MUTEX TAO::Security::AccessDecision::map_lock_
private

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