(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.4 and 1.14.2.1

version 1.4, 2002/06/01 00:57:27 version 1.14.2.1, 2012/02/15 17:47:18
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,  // Licensed to The Open Group (TOG) under one or more contributor license
 // The Open Group, Tivoli Systems  // 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.
 // //
 // 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 52 
Line 51 
 // 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      This class implements the functionality required to manage user
     namespace level.      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 80 
Line 79 
     */     */
     void _loadAllAuthorizations ();     void _loadAllAuthorizations ();
  
   
 public: public:
  
     /** Constructor. */     /** Constructor. */
Line 91 
Line 89 
  
     /** Verify whether the spcefied namespace is a valid namespace.     /** Verify whether the spcefied namespace is a valid namespace.
     @param nameSpace  string containing the namespace name.     @param nameSpace  string containing the namespace name.
     @return true if the specified name space is valid and exists, false otherwise.          @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 userName   string containing the user name.
     @param nameSpace  string containing the namespace name.     @param nameSpace  string containing the namespace name.
     @param cimMethodName string containing the cim method name.     @param cimMethodName string containing the cim method name.
     @return true if the specified user has authorizations to run the specified CIM          @return true if the specified user has authorizations to run the
     operation on the specified namespace, false otherwise.          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 to the specified user on the specified namespace.      /**
           Set the authorization to the specified user on the specified namespace.
     @param userName   string containing the user name.     @param userName   string containing the user name.
     @param nameSpace  string containing the namespace name.     @param nameSpace  string containing the namespace name.
     @param auth string containing the authorizations.     @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 authorizations of the specified user on the specified
           namespace.
     @param userName   string containing the user name.     @param userName   string containing the user name.
     @param nameSpace  string containing the namespace 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 authorizations of the specified user on the specified namespace.      /**
           Get the authorizations of the specified user on the specified namespace.
     @param userName   string containing the user name.     @param userName   string containing the user name.
     @param nameSpace  string containing the namespace name.     @param nameSpace  string containing the namespace name.
     @return a string containing the authorizations.     @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.4  
changed lines
  Added in v.1.14.2.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2