(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.14.2.1

version 1.2, 2001/12/13 14:54:32 version 1.14.2.1, 2012/02/15 17:47:18
Line 1 
Line 1 
 //%////////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 //  
 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM,  
 // The Open Group, Tivoli Systems  
 //  
 // Permission is hereby granted, free of charge, to any person obtaining a copy  
 // of this software and associated documentation files (the "Software"), to  
 // deal in the Software without restriction, including without limitation the  
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  
 // sell copies of the Software, and to permit persons to whom the Software is  
 // furnished to do so, subject to the following conditions:  
 //  
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  
 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  
 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  
 // 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.  
 // //
 //=============================================================================  // Licensed to The Open Group (TOG) under one or more contributor license
   // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
   // this work for additional information regarding copyright ownership.
   // Each contributor licenses this file to you under the OpenPegasus Open
   // Source License; you may not use this file except in compliance with the
   // License.
   //
   // Permission is hereby granted, free of charge, to any person obtaining a
   // copy of this software and associated documentation files (the "Software"),
   // to deal in the Software without restriction, including without limitation
   // the rights to use, copy, modify, merge, publish, distribute, sublicense,
   // and/or sell copies of the Software, and to permit persons to whom the
   // Software is furnished to do so, subject to the following conditions:
   //
   // The above copyright notice and this permission notice shall be included
   // in all copies or substantial portions of the Software.
   //
   // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 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.
 // //
 // Author: Sushma Fernandes (sushma_fernandes@hp.com)  //////////////////////////////////////////////////////////////////////////
 //  
 // Modified By: Nag Boranna, Hewlett Packard Company (nagaraja_boranna@hp.com)  
 // //
 //%//////////////////////////////////////////////////////////////////////////// //%////////////////////////////////////////////////////////////////////////////
  
Line 37 
Line 39 
 #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 47 
  
 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
 { {
   
 private: private:
  
     //     //
Line 76 
Line 75 
  
 protected: protected:
  
     /**      /** Load the user information from the Repository.
     Load the user information from the Repository.  
   
     */     */
     void _loadAllAuthorizations ();     void _loadAllAuthorizations ();
  
   
 public: public:
  
     /** Constructor. */     /** Constructor. */
Line 91 
Line 87 
     /** 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 by the specified user.  
  
       /**
           Verify whether the specified operation has authorization 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 authorization.          Remove the authorizations of the specified user on the specified
           namespace.
           @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.14.2.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2