(file) Return to AuthorizationHandler.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Security / UserManager

Diff for /pegasus/src/Pegasus/Security/UserManager/AuthorizationHandler.h between version 1.2 and 1.9.8.1

version 1.2, 2001/12/13 14:54:32 version 1.9.8.1, 2006/02/10 16:13:25
Line 1 
Line 1 
 //%////////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // The Open Group, Tivoli Systems  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 19 
Line 27 
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 //=============================================================================  //==============================================================================
 // //
 // Author: Sushma Fernandes (sushma_fernandes@hp.com) // Author: Sushma Fernandes (sushma_fernandes@hp.com)
 // //
 // Modified By: Nag Boranna, Hewlett Packard Company (nagaraja_boranna@hp.com) // Modified By: Nag Boranna, Hewlett Packard Company (nagaraja_boranna@hp.com)
   //              Carol Ann Krug Graves, Hewlett-Packard Company
   //                  (carolann_graves@hp.com)
   //              David Dillard, VERITAS Software Corp.
   //                  (david.dillard@veritas.com)
 // //
 //%//////////////////////////////////////////////////////////////////////////// //%////////////////////////////////////////////////////////////////////////////
  
Line 37 
Line 49 
 #ifndef Pegasus_AuthorizationHandler_h #ifndef Pegasus_AuthorizationHandler_h
 #define Pegasus_AuthorizationHandler_h #define Pegasus_AuthorizationHandler_h
  
 #include <cctype>  
 #include <fstream>  
   
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/String.h> #include <Pegasus/Common/String.h>
 #include <Pegasus/Repository/CIMRepository.h> #include <Pegasus/Repository/CIMRepository.h>
Line 48 
Line 57 
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 /**  
   This class implements the functionality required to manage authorizations.  
 */  
   
 /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
 // Auth Table // Auth Table
 ////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
  
 typedef HashTable<String, String, EqualFunc<String>, HashFunc<String> > AuthTable; typedef HashTable<String, String, EqualFunc<String>, HashFunc<String> > AuthTable;
  
   /** This class implements the functionality required to manage user authorizations.
       It provides methods to get, set, remove and verify the user authorizations at
       namespace level.
   */
  
 class PEGASUS_USERMANAGER_LINKAGE AuthorizationHandler class PEGASUS_USERMANAGER_LINKAGE AuthorizationHandler
 { {
Line 76 
Line 85 
  
 protected: protected:
  
     /**      /** Load the user information from the Repository.
     Load the user information from the Repository.  
   
     */     */
     void _loadAllAuthorizations ();     void _loadAllAuthorizations ();
  
Line 91 
Line 98 
     /** Destructor. */     /** Destructor. */
     ~AuthorizationHandler();     ~AuthorizationHandler();
  
     /**      /** Verify whether the spcefied namespace is a valid namespace.
     Check if the namespace exists.      @param nameSpace  string containing the namespace name.
       @return true if the specified name space is valid and exists, false otherwise.
     */      */
     Boolean verifyNamespace( const String& nameSpace );      Boolean verifyNamespace( const CIMNamespaceName& nameSpace );
   
     /*      /** Verify whether the specified operation has authorization to be performed
     Verify whether the specified operation has authorization      by the specified user.
     to be performed by the specified user.      @param userName   string containing the user name.
       @param nameSpace  string containing the namespace name.
       @param cimMethodName string containing the cim method name.
       @return true if the specified user has authorizations to run the specified CIM
       operation on the specified namespace, false otherwise.
     */     */
     Boolean verifyAuthorization(     Boolean verifyAuthorization(
                             const String& userName,                             const String& userName,
                             const String& nameSpace,                              const CIMNamespaceName& nameSpace,
                             const String& cimMethodName);                              const CIMName& cimMethodName);
   
     /**  
     Set the authorization.  
  
       /** Set the authorization to the specified user on the specified namespace.
       @param userName   string containing the user name.
       @param nameSpace  string containing the namespace name.
       @param auth string containing the authorizations.
     */     */
     void setAuthorization(     void setAuthorization(
                             const String& userName,                             const String& userName,
                             const String& nameSpace,                              const CIMNamespaceName& nameSpace,
                             const String& auth);                             const String& auth);
  
     /**      /** Remove the authorizations of the specified user on the specified namespace.
     Remove the authorization.      @param userName   string containing the user name.
       @param nameSpace  string containing the namespace name.
     */     */
     void removeAuthorization(     void removeAuthorization(
                             const String& userName,                             const String& userName,
                             const String& nameSpace);                              const CIMNamespaceName& nameSpace);
   
     /**  
     Get the authorization.  
  
       /** Get the authorizations of the specified user on the specified namespace.
       @param userName   string containing the user name.
       @param nameSpace  string containing the namespace name.
       @return a string containing the authorizations.
     */     */
     String getAuthorization(     String getAuthorization(
                             const String& userName,                             const String& userName,
                             const String& nameSpace);                              const CIMNamespaceName& nameSpace);
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.9.8.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2