diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Security/SecurityManager.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Security/SecurityManager.h | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Security/SecurityManager.h b/TAO/orbsvcs/orbsvcs/Security/SecurityManager.h deleted file mode 100644 index 720caa7c68a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SecurityManager.h +++ /dev/null @@ -1,172 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file SecurityManager.h - * - * $Id$ - * - * @author Ossama Othman <ossama@uci.edu> - */ -// =================================================================== - - -#ifndef TAO_SECURITY_MANAGER_H -#define TAO_SECURITY_MANAGER_H - -#include /**/ "ace/pre.h" - -#include "security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/orbsvcs/SecurityLevel2C.h" - -#include "tao/LocalObject.h" - -/** - * @class TAO_SecurityManager - * - * @brief Implementation of the SecurityLevel2::SecurityManager - * interface. - * - * A reference to the SecurityManager object can be retrieved by - * calling CORBA::ORB::resolve_initial_references ("SecurityManager"); - */ -class TAO_Security_Export TAO_SecurityManager - : public virtual SecurityLevel2::SecurityManager, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /// Constructor - TAO_SecurityManager (void); - - /** - * @name SecurityLevel2::SecurityManager Methods - * - * Methods exposed by the SecurityLevel2::SecurityManager - * interface. - */ - //@{ - /// Return a sequence containing the security mechanisms supported - /// by the Security Service. - virtual Security::MechandOptionsList * supported_mechanisms ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the list of Credentials currently associated with the - /// application itself, i.e. its own credentials. - virtual SecurityLevel2::CredentialsList * own_credentials ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return a reference to the RequiredRights object. - /** - * The RequiredRights object is only useful to the application if - * the application needs to perform its own rights-based access - * control. - */ - virtual SecurityLevel2::RequiredRights_ptr required_rights_object ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return a reference to the PrincipalAuthenticator object. - /** - * The PrincipalAuthenticator is used to authenticate principals and - * create credentials for them. - */ - virtual SecurityLevel2::PrincipalAuthenticator_ptr principal_authenticator ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return a reference to the AccessDecision object. - /** - * The AccessDecision object can be used to determine accessibility - * of objects. - */ - virtual SecurityLevel2::AccessDecision_ptr access_decision ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return a reference to the AuditDecision object. - /** - * The AuditDecision object can be used to determine what needs to - * be audited for a given object. - */ - virtual SecurityLevel2::AuditDecision_ptr audit_decision ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the TargetCredentials associated with the given object - /// reference. - virtual SecurityLevel2::TargetCredentials_ptr get_target_credentials ( - CORBA::Object_ptr obj_ref - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Remove the given credential from the application's own - /// Credentials list. - /** - * @note A CORBA::BAD_PARAM exception will be thrown if the given - * credential is not in the SecurityManager's "own - * credentials" list. - */ - virtual void remove_own_credentials ( - SecurityLevel2::Credentials_ptr creds - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the security policy currently in effect corresponding to - /// the given policy type. - virtual CORBA::Policy_ptr get_security_policy ( - CORBA::PolicyType policy_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /** - * @name TAO-specific Methods - * - * Methods used internally by TAO's Security Service. - */ - //@{ - /// Add the given credentials to the SecurityManager's "own - /// credentials" list. - /** - * This method is generally only used by the PrincipalAuthenticator - * when credentials are created and authenticated. - */ - void add_own_credentials (SecurityLevel2::Credentials_ptr creds - ACE_ENV_ARG_DECL); - //@} - -protected: - - /// Destructor - /** - * Protected destructor to enforce the fact this class is reference - * counted, and should not be destroyed using delete() by anything - * other than the reference counting mechanism. - */ - ~TAO_SecurityManager (void); - -private: - - /// Lock used to synchronize access to the SecurityManager's state. - TAO_SYNCH_MUTEX lock_; - - /// List of SecurityManager's own credentials, i.e. those created by - /// its PrincipalAuthenticator. - SecurityLevel2::CredentialsList own_credentials_; - - /// Reference to the PrinicipalAuthenticator. - SecurityLevel2::PrincipalAuthenticator_var principal_authenticator_; - -}; - -#include /**/ "ace/post.h" - -#endif /* TAO_SECURITY_MANAGER_H */ |