Beispiel #1
0
        /// <summary>
        /// This method checks if the given user group is allowed access to the
        /// supplied function group.
        /// </summary>
        /// <param name="Capability">The function group who's access is in question.</param>
        /// <param name="Group">The specific user group that is having its access checked.</param>
        /// <returns>A bool indicating whether the user group has access.</returns>
        //  Revision History
        //  MM/DD/YY Who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------------
        //  05/27/08 jrf 1.50.28		Created
        //  01/15/09 jrf 2.10.01 125939 Dividing the meter reset operations functional capability
        //                              into five new function groups.
        //  01/16/09 jrf 2.10.01 125939 Added additional new function group, clear meter data.
        //  08/05/11 AF  2.51.33        Added clear fw dl event log
        //  06/17/15 jrf 4.20.14 RQ591138 Added create replica file to UAP.
        public bool CheckGroupAccess(FunctionalCapability Capability, UserGroup Group)
        {
            bool   blnAccessGranted = false;
            string strXMLTag        = "";

            //Get the user groups that can access each capability
            switch (Capability)
            {
            case FunctionalCapability.ManageSystemSettings:
            {
                strXMLTag = XML_MANAGE_SYS_SETTINGS_TAG;
                break;
            }

            case FunctionalCapability.CreateReplicaFile:
            {
                strXMLTag = XML_CREATE_REPLICA_FILE_TAG;
                break;
            }

            case FunctionalCapability.ManageConfigFiles:
            {
                strXMLTag = XML_MANAGE_CONFIG_FILES_TAG;
                break;
            }

            case FunctionalCapability.ManageDataFiles:
            {
                strXMLTag = XML_MANAGE_DATA_FILES_TAG;
                break;
            }

            case FunctionalCapability.CommModuleOperations:
            {
                strXMLTag = XML_RFLAN_OPERATIONS_TAG;
                break;
            }

            case FunctionalCapability.HANOperations:
            {
                strXMLTag = XML_HAN_OPERATIONS_TAG;
                break;
            }

            case FunctionalCapability.MeterSwitchOperations:
            {
                strXMLTag = XML_METER_SWITCH_OPERATIONS_TAG;
                break;
            }

            case FunctionalCapability.MeterInitialization:
            {
                strXMLTag = XML_METER_INIT_OPERATIONS_TAG;
                break;
            }

            case FunctionalCapability.Reconfiguration:
            {
                strXMLTag = XML_METER_RECONFIG_TAG;
                break;
            }

            case FunctionalCapability.FirmwareDownload:
            {
                strXMLTag = XML_FW_DOWNLOAD_TAG;
                break;
            }

            case FunctionalCapability.ResetDemandRegisters:
            {
                strXMLTag = XML_RESET_DEMAND_TAG;
                break;
            }

            case FunctionalCapability.ResetBillingRegisters:
            {
                strXMLTag = XML_RESET_BILLING_TAG;
                break;
            }

            case FunctionalCapability.ResetTampers:
            {
                strXMLTag = XML_RESET_TAMPERS_TAG;
                break;
            }

            case FunctionalCapability.ResetActivityStatus:
            {
                strXMLTag = XML_RESET_ACTIVITY_STATUS;
                break;
            }

            case FunctionalCapability.AdjustClock:
            {
                strXMLTag = XML_ADJUST_CLOCK;
                break;
            }

            case FunctionalCapability.ClearMeterData:
            {
                strXMLTag = XML_CLEAR_METER_DATA;
                break;
            }

            case FunctionalCapability.EnterExitTestMode:
            {
                strXMLTag = XML_ENTER_EXIST_TEST_MODE;
                break;
            }

            case FunctionalCapability.ClearFWDLEventLog:
            {
                strXMLTag = XML_CLEAR_FWDL_EVENT_LOG;
                break;
            }

            default:
            {
                throw new ArgumentException("Unexpected Capability: " + Capability.ToString());
            }
            }

            m_EncryptedXMLSettings.SelectNodeFromAnchor(strXMLTag, true);

            if ((Group & (UserGroup)m_EncryptedXMLSettings.CurrentNodeInt) != UserGroup.NoUsers)
            {
                blnAccessGranted = true;
            }

            return(blnAccessGranted);
        }
Beispiel #2
0
        /// <summary>
        /// This method assigns a user group(s) access to a particular function group.
        /// </summary>
        /// <param name="Capability">The capability to set.</param>
        /// <param name="Group">The user group(s) to assign access.</param>
        //  Revision History
        //  MM/DD/YY Who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------------
        //  05/27/08 jrf 1.50.28		Created
        //  01/15/09 jrf 2.10.01 125939 Dividing the meter reset operations functional capability
        //                              into five new function groups.
        //  01/16/09 jrf 2.10.01 125939 Added additional new function group, clear meter data.
        //  08/05/11 AF  2.51.33        Added clear fw dl event log
        //  06/17/15 jrf 4.20.14 RQ591138 Added create replica file to UAP.
        public void SetUserAccess(FunctionalCapability Capability, UserGroup Group)
        {
            switch (Capability)
            {
            case FunctionalCapability.ManageSystemSettings:
            {
                SetUserGroups(XML_MANAGE_SYS_SETTINGS_TAG, Group);
                break;
            }

            case FunctionalCapability.CreateReplicaFile:
            {
                SetUserGroups(XML_CREATE_REPLICA_FILE_TAG, Group);
                break;
            }

            case FunctionalCapability.ManageConfigFiles:
            {
                SetUserGroups(XML_MANAGE_CONFIG_FILES_TAG, Group);
                break;
            }

            case FunctionalCapability.ManageDataFiles:
            {
                SetUserGroups(XML_MANAGE_DATA_FILES_TAG, Group);
                break;
            }

            case FunctionalCapability.CommModuleOperations:
            {
                SetUserGroups(XML_RFLAN_OPERATIONS_TAG, Group);
                break;
            }

            case FunctionalCapability.HANOperations:
            {
                SetUserGroups(XML_HAN_OPERATIONS_TAG, Group);
                break;
            }

            case FunctionalCapability.MeterSwitchOperations:
            {
                SetUserGroups(XML_METER_SWITCH_OPERATIONS_TAG, Group);
                break;
            }

            case FunctionalCapability.MeterInitialization:
            {
                SetUserGroups(XML_METER_INIT_OPERATIONS_TAG, Group);
                break;
            }

            case FunctionalCapability.Reconfiguration:
            {
                SetUserGroups(XML_METER_RECONFIG_TAG, Group);
                break;
            }

            case FunctionalCapability.FirmwareDownload:
            {
                SetUserGroups(XML_FW_DOWNLOAD_TAG, Group);
                break;
            }

            case FunctionalCapability.ResetDemandRegisters:
            {
                SetUserGroups(XML_RESET_DEMAND_TAG, Group);
                break;
            }

            case FunctionalCapability.ResetBillingRegisters:
            {
                SetUserGroups(XML_RESET_BILLING_TAG, Group);
                break;
            }

            case FunctionalCapability.ResetTampers:
            {
                SetUserGroups(XML_RESET_TAMPERS_TAG, Group);
                break;
            }

            case FunctionalCapability.ResetActivityStatus:
            {
                SetUserGroups(XML_RESET_ACTIVITY_STATUS, Group);
                break;
            }

            case FunctionalCapability.AdjustClock:
            {
                SetUserGroups(XML_ADJUST_CLOCK, Group);
                break;
            }

            case FunctionalCapability.ClearMeterData:
            {
                SetUserGroups(XML_CLEAR_METER_DATA, Group);
                break;
            }

            case FunctionalCapability.EnterExitTestMode:
            {
                SetUserGroups(XML_ENTER_EXIST_TEST_MODE, Group);
                break;
            }

            case FunctionalCapability.ClearFWDLEventLog:
            {
                SetUserGroups(XML_CLEAR_FWDL_EVENT_LOG, Group);
                break;
            }

            default:
            {
                throw new ArgumentException("Unexpected Capability: " + Capability.ToString());
            }
            }
        }
Beispiel #3
0
        /// <summary>
        /// This method checks if the currently logged on user is in an appropriate
        /// user group to access the supplied function group.
        /// </summary>
        /// <param name="Capability">The function group who's access is in question.</param>
        /// <returns>A bool indicating whether access was granted.</returns>
        //  Revision History
        //  MM/DD/YY Who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------------
        //  05/27/08 jrf 1.50.28		Created
        //  01/15/09 jrf 2.10.01 125939 Dividing the meter reset operations functional capability
        //                              into five new function groups.
        //  01/16/09 jrf 2.10.01 125939 Added additional new function group, clear meter data.
        //  08/05/11 AF  2.51.33        Added new functional capability, clear fw dl event log.
        //  06/17/15 jrf 4.20.14 RQ591138 Added create replica file to UAP.
        public bool CheckUserAccess(FunctionalCapability Capability)
        {
            bool          blnAccessGranted = true;
            List <string> lststrRoles;

            //Get the user groups that can access each capability
            switch (Capability)
            {
            case FunctionalCapability.ManageSystemSettings:
            {
                lststrRoles = GetUserGroups(XML_MANAGE_SYS_SETTINGS_TAG);
                break;
            }

            case FunctionalCapability.CreateReplicaFile:
            {
                lststrRoles = GetUserGroups(XML_CREATE_REPLICA_FILE_TAG);
                break;
            }

            case FunctionalCapability.ManageConfigFiles:
            {
                lststrRoles = GetUserGroups(XML_MANAGE_CONFIG_FILES_TAG);
                break;
            }

            case FunctionalCapability.ManageDataFiles:
            {
                lststrRoles = GetUserGroups(XML_MANAGE_DATA_FILES_TAG);
                break;
            }

            case FunctionalCapability.CommModuleOperations:
            {
                lststrRoles = GetUserGroups(XML_RFLAN_OPERATIONS_TAG);
                break;
            }

            case FunctionalCapability.HANOperations:
            {
                lststrRoles = GetUserGroups(XML_HAN_OPERATIONS_TAG);
                break;
            }

            case FunctionalCapability.MeterSwitchOperations:
            {
                lststrRoles = GetUserGroups(XML_METER_SWITCH_OPERATIONS_TAG);
                break;
            }

            case FunctionalCapability.MeterInitialization:
            {
                lststrRoles = GetUserGroups(XML_METER_INIT_OPERATIONS_TAG);
                break;
            }

            case FunctionalCapability.Reconfiguration:
            {
                lststrRoles = GetUserGroups(XML_METER_RECONFIG_TAG);
                break;
            }

            case FunctionalCapability.FirmwareDownload:
            {
                lststrRoles = GetUserGroups(XML_FW_DOWNLOAD_TAG);
                break;
            }

            case FunctionalCapability.ResetDemandRegisters:
            {
                lststrRoles = GetUserGroups(XML_RESET_DEMAND_TAG);
                break;
            }

            case FunctionalCapability.ResetBillingRegisters:
            {
                lststrRoles = GetUserGroups(XML_RESET_BILLING_TAG);
                break;
            }

            case FunctionalCapability.ResetTampers:
            {
                lststrRoles = GetUserGroups(XML_RESET_TAMPERS_TAG);
                break;
            }

            case FunctionalCapability.ResetActivityStatus:
            {
                lststrRoles = GetUserGroups(XML_RESET_ACTIVITY_STATUS);
                break;
            }

            case FunctionalCapability.AdjustClock:
            {
                lststrRoles = GetUserGroups(XML_ADJUST_CLOCK);
                break;
            }

            case FunctionalCapability.ClearMeterData:
            {
                lststrRoles = GetUserGroups(XML_CLEAR_METER_DATA);
                break;
            }

            case FunctionalCapability.EnterExitTestMode:
            {
                lststrRoles = GetUserGroups(XML_ENTER_EXIST_TEST_MODE);
                break;
            }

            case FunctionalCapability.ClearFWDLEventLog:
            {
                lststrRoles = GetUserGroups(XML_CLEAR_FWDL_EVENT_LOG);
                break;
            }

            default:
            {
                throw new ArgumentException("Unexpected Capability: " + Capability.ToString());
            }
            }

            //Verify the user is a member of one of the user groups
            blnAccessGranted = VerifyUser(UserAccessPolicy, lststrRoles);

            return(blnAccessGranted);
        }