Sicherheitskonzept

Das Sicherheitskonzept von webERP besteht aus den folgenden Elementen:
  • Benutzerkonto
    Für jeden Anwender von webERP sollte ein persönliches Benutzerkonto eingerichtet werden.
    Benutzerkonten können von Administratoren über: Hauptmenü -> Einstellungen -> Benutzerstammsätze (WWW_Users.php) angelegt werden.
    Jeder Benutzer wird einer durch Auswählen aus der Drop-Down-Liste einer 'Rolle' zugeordnet.
    Unten finden Sie eine Liste der standardmäßigen Rollen.
  • Rolle
    Rollen können von einem Administrator über Hauptmenü -> Einstellungen -> Rollen und Berechtigungen (WWW_Access.php) hinzugefügt oder entfernt werden.
    Jeder 'Rolle' sind eine oder mehrere 'Berechtigungen' zugeordnet. Die zu einer 'Rolle' zugeordneten 'Berechtigungen' können über: Hauptmenü -> Einstellungen -> Rollen und Berechtigungen (WWW_Access.php) geändert werden.
    Unten finden Sie eine Liste der zu den standardmäßigen 'Rollen' jeweils zugeordneten Berechtigungen.
  • Berechtigungen
    Standardmäßig stehen 15 'Berechtigungen' zur Auswahl. Jede 'Berechtigung' erlaubt den Zugriff auf eine oder mehrere webERP-Seiten.
    Unten finden Sie eine Liste der standardmäßigen Berechtigungen.
    Es gibt kein webERP-Werkzeug, um 'Berechtigungen' hinzuzufügen, zu entfernen oder zu bearbeiten. Bei Bedarf kann ein Administrator die Datenbanktabelle (securitytokens) bearbeiten.

  • Sicherheitsniveau
    Jede webERP-Seite besitzt ein Sicherheitsiveau im Wertebereich von 1 bis 15.
    Dies ist für jede Seite im Quelltext fest kodiert, zum Beispiel durch die Angabe $PageSecurity = 1;
    Für den Benutzerzugriff muss die 'Berechtigung' das Seiten-Sicherheitsniveau entsprechen.
    Es gibt kein webERP-Werkzeug, um die Seiten-Sicherheitsniveaus zu ändern. Ein Administrator oder Entwickler kann die Seiten gegebenenfalls direkt bearbeiten.
  • Diese Elemente wirken wie folgt zusammen: Mit der eingegebenen Kombination von Benutzerkonto und Passwort kann das System bei der Anmeldung die Rolle ermitteln. Die Rolle des Benutzers bestimmt, welche Berechtigungen der Benutzer besitzt. Dadurch darf der Benutzer auf alle die webERP-Seiten zugreifen, deren Sicherheitsniveau einer der Berechtigungen aus seiner Rolle entspricht.


    Eine umfangreichere Beschreibung des Sicherheitskonzeptes folgt:

    Jede webERP-Seite (php-Skript) hat einen bestimmtes Niveau der Sicherheit zugeordnet. Dieses Sicherheitsniveau ist in jedem Skript fest eingetragen. Zum Zeitpunkt der Erstellung dieser Dokumentation ist dies eine Zahl zwischen 1 und 15. Wenn weitere Sicherheitsniveaus erforderlich werden, so kann das durch einen Administrator oder Entwickler erweitert werden. Die vorgegebenen Sicherheitsniveaus für jede Seite finden Sie in der Tabelle unten.

    Der Benutzer erhält den Zugriff auf eine Seite, wenn das Sicherheitsniveau dieser Seite einer Berechtigung im Array SESSION AllowedPageSecurityTokens entspricht, die wiederum durch die Rolle des Benutzers bestimmt werden. Die Rolle selbst ist eine Ganzzahl, die dem Anwender in den Benutzerstammsatz über die Seite Benutzer pflegen (WWW_users.php) zugeordnet wird.

    Die Zugriffsberechtigung für die jeweilige Seite wird im Include session.inc (bzw. PDF_Starter.inc für PDF-Seiten) geprüft. Die Variable $_SESSION['AccessLevel'] wird im Moment der Anmeldung des Benutzers aus der Datenbank abgerufen. Diese Variable verweist auf die Rolle des Benutzers. Das Array SESSION[AllowedPageSecurityTokens'] wird auf der Grundlage der Rolle (AccessLevel) mit den Berechtigungen aus der Datenbank gefüllt. Jede Seite mit einem Sicherheitsniveau $PageSecurity gleich einem Wert in dem ganannten Array wird als eine berechtigt Seite angesehen.

    Wenn Sie zusätzliche Rollen anlegen wollen, müssen Sie dazu das Skript "Rollen und Berechtigungen" (WWW.Access.php) anwenden. Sie müssen ebenso die Berechtigungen für die neue Rolle zuordnen. Benutzer, die diese neue Rolle zugeordnet bekommen, werden den Zugriff auf jede Seite erhalten, deren Sicherheitsnivau einem Wert einer Berechtigung in dieser neuen Rolle entspricht. Dieser Mechanismus erlaubt es dem Systemadmiistrator zu steuern, wer worauf zugreifen darf.

    Durch Änderungen der Rollen, die den einzelnen Benutzern zugeordnet sind und das Ändern der Berechtigngen, die den einzelnen Rollen zugeordnet sind, können die Zugriffsberectigungen für alle Benutzer auf die einzelnen Seiten maßgeschneidert werden. Wenn Sie Änderungen vornehmen, beziehen Sie sich auf die Standardwerte in den untenstehenden Tabellen. Die Sicherheitsniveaus der einzelnen Seiten müssen ebenfalls bekannt sein. Die Werte der Standardeinstellungen können wie benötigt abgeändert werden.

    Tabellen des Sicherheitskonzeptes

    Tabelle.Feld Beispieldaten Bemerkung
    www_user.userid
    www_user.fullaccess
    demo
    8
    Diese Felder werden durch das Skript
    WWW_Users.php geändert.
    securityroles.secroleid
    securityroles.secrolename
    8
    System Administrator
    Diese Felder werden durch WWW_Access.php
    geändert, wenn eine Rolle angelegt oder
    gelöscht wird.
    securitygroups.secroleid
    securitygroups.tokenid
    8
    1
    Diese Felder werden durch WWW_Access.php
    geändert, wenn Sie einer Rolle eine Berechtigung
    zuordnen oder aus einer Rolle eine Berechtigung
    entfernen.
    securitytokens.tokenid
    securitytokens.tokenname
    1
    Auftragseingabe - Kundenzugriff
    Es sind standardmäßig 15 Berechtigungen definiert.
    Diese Daten können mit keinem webERP-Werkzeug
    bearbeitet werden.
    webERP-Seite CustomerInquiry.php
    $PageSecurity = 1;
    Das Sicherheitsniveau für jede Seite
    ist vordefiniert und kann nicht mit
    webERP-Mitteln geändert werden.


    Rollen: Standardwerte für webERP version 3.08:

    1 - Inquiries/Order Entry (Auswertungen/Auftragserfassung)
    2 - Manufac/Stock Admin (Fertigung/Bestandsführung)
    3 - Purchasing officer (Einkaufsverantwortlicher)
    4 - AP Clerk (Kreditorenbuchhalter)
    5 - AR Clerk (Debitorenbuchhalter)
    6 - Accountant (Bilanzbuchhalter)
    7 - Customer logon only (Nur Kundenzugriff)
    8 - System Administrator (Systemverwalter)

    Berechtigungszuordnungen: Standardwerte für webERP version 3.071:,

    1 - Inquiries/Order Entry (Auswertungen/Auftragserfassung) = 1, 2
    2 - Manufac/Stock Admin (Fertigung/Bestandsführung) = 1, 2, 11
    3 - Purchasing officer (Einkaufsverantwortlicher) = 1, 2, 3, 4, 5, 11
    4 - AP Clerk (Kreditorenbuchhalter) = 1, 2, 5
    5 - AR Clerk (Debitorenbuchhalter) = 1, 2, 5, 11
    6 - Accountant (Bilanzbuchhalter) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
    7 - Customer logon only (Nur Kundenzugriff) = 1
    8 - System Administrator (Systemverwalter) = alle aktuellen Berechtigungen

    Berechtigungen: Standardwerte für webERP Version 3.08:

    1 - Order Entry/Inquiries customer access only (Auftragseingabe und -abfrage nur für den Kundenzugriff)
    2 - Basic Reports and Inquiries with selection options (Grundlegende Berichte und Auswertungen mit Auswahlmöglichkeiten)
    3 - Credit notes and AR management (Gutschriften und Debitoren-Verwaltung)
    4 - Purchasing data/PO Entry/Reorder Levels (Einkaufsdaten / Bestellerfassung / Bestellpunkte)
    5 - Accounts Payable (Kreditoren)
    6 - Not used
    7 - Bank Reconciliations (Bankkonten-Abstimmungen)
    8 - General ledger reports/inquiries (Hauptbuchberichte und -auswertungen)
    9 - Not used
    10 - General Ledger Maintenance, stock valuation & Configuration (Hauptbuchabwicklung, Bestandsbewertung und Konfiguration)
    11 - Inventory Management and Pricing (Bestandsverwaltung und Preisbildung)
    12 - Unknown
    13 - Unknown
    14 - Unknown
    15 - User Management and System Administration (Benutzer- und Systemverwaltung)

    Sicherheitsniveau: Standardwerte für webERP Version 3.08:

    Seite DateinameSicherheitsniveau
    AccountGroups.php10
    AccountSections.php10
    AgedDebtors.php2
    AgedSuppliers.php2
    Areas.php3
    BankAccounts.php10
    BankMatching.php7
    BankReconciliation.php7
    BOMInquiry.php2
    BOMListing.php2
    BOMs.php9
    COGSGLPostings.php10
    CompanyPreferences.php10
    ConfirmDispatchControlled_Invoice.php11
    ConfirmDispatch_Invoice.php2
    CreditItemsControlled.php3
    CreditStatus.php3
    Credit_Invoice.php3
    Currencies.php9
    CustEDISetup.php11
    CustomerAllocations.php3
    CustomerBranches.php3
    CustomerInquiry.php1
    CustomerReceipt.php3
    Customers.php3
    CustomerTransInquiry.php2
    Custwherealloc.php2
    DebtorsAtPeriodEnd.php2
    DeliveryDetails.php1
    DiscountCategories.php11
    DiscountMatrix.php11
    EDIMessageFormat.php10
    EDIProcessOrders.php11
    EDISendInvoices.php15
    EmailCustTrans.php2
    FreightCosts.php11
    FTP_RadioBeacon.php2
    GetStockImage.php1
    GLAccountInquiry.php8
    GLAccounts.php10
    GLBalanceSheet.php8
    GLBudget.php8
    GLCodesInquiry.php8
    GLJournal.php10
    GLProfit_Loss.php8
    GLTransInquiry.php8
    GLTrialBalance.php8
    GoodsReceived.php11
    GoodsReceivedControlled.php11
    ImportOrdersTowebERP.php1
    index.php1
    InventoryPlanning.php2
    InventoryValuation.php2
    Locations.php11
    Logout.php1
    MailInventoryValuation.php1
    OrderDetails.php2
    OutstandingGRNs.php2
    PaymentAllocations.php5
    PaymentMethods.php15
    Payments.php5
    PaymentTerms.php10
    PDFBankingSummary.php3
    PDFChequeListing.php3
    PDFCustomerList.php2
    PDFDeliveryDifferences.php3
    PDFDIFOT.php3
    PDFLowGP.php2
    PDFOrdersInvoiced.php3
    PDFOrderStatus.php3
    PDFPriceList.php2
    PDFQuotation.php2
    PDFStockCheckComparison.php2
    PDFStockLocTransfer.php1
    PDFStockNegatives.php1
    PeriodsInquiry.php2
    PO_Header.php4
    PO_Items.php4
    PO_OrderDetails.php2
    PO_PDFPurchOrder.php2
    PO_SelectOSPurchOrder.php2
    PO_SelectPurchOrder.php2
    Prices.php2
    Prices_Customer.php11
    PrintCheque.php5
    PrintCustOrder.php2
    PrintCustOrder_Generic.php2
    PrintCustStatements.php2
    PrintCustTrans.php1
    PrintCustTransPortrait.php1
    PurchData.php4
    RecurringSalesOrders.php1
    ReverseGRN.php11
    SalesAnalReptcols.php2
    SalesAnalRepts.php2
    SalesAnalysis_UserDefined.php2
    SalesCategories.php11
    SalesGLpostings.php10
    SalesGraph.php 6
    SalesPeople.php3
    SalesTypes.php15
    SelectCompletedOrder.php1
    SelectCreditItems.php3
    SelectCustomer.php2
    SelectGLAccount.php8
    SelectOrderItems.php1
    SelectProduct.php2
    SelectRecurringSalesOrder.php2
    SelectSalesorder.php2
    SelectSupplier.php2
    SelectWorkorder.php2
    ShipmentCosting.php11
    Shipments.php11
    Shippers.php15
    ShiptsList.php2
    Shipt_Select.php11
    SpecialOrder.php4
    StockAdjustments.php11
    StockAdjustmentsControlled.php11
    StockCategories.php11
    StockCheck.php2
    StockCostUpdate.php2
    StockCounts.php2
    StockLocMovements.php2
    StockLocStatus.php2
    StockLocTransfer.php11
    StockLocTransferReceive.php11
    StockMovements.php2
    StockQties_csv.php5
    StockQuantityByDate.php2
    StockReorderLevel.php4
    Stocks.php11
    StockSerialItemResearch.php3
    StockSerialItems.php2
    StockStatus.php2
    StockTtransferControlled.php11
    StockTransfers.php11
    StockUsage.php2
    StockUsageGraph.php2
    SuppCreditGRNs.php5
    SuppInvGLAnalysis.php5
    SuppInvGRNs.php5
    SupplierAllocations.php5
    SupplierBalsAtPeriodEnd.php2
    SupplierContacts.php5
    SupplierCredit.php5
    SupplierInquiry.php2
    SupplierInvoice.php5
    Suppliers.php5
    SupplierTransInquiry.php2
    SuppPaymentrun.php5
    SuppShiptChgs.php5
    SuppTransGLAnalysis.php5
    SystemParameters.php15
    Tax.php2
    TaxAuthorities.php15
    TaxAuthorityRates.php11
    TaxCategories.php15
    TaxGroups.php15
    TaxProvinces.php15
    UnitsOfMeasure.php15
    UserSettings.php1
    WhereUsedInquiry.php2
    WorkCentres.php9
    WorkOrderCosting.php11
    WorkOrderEntry.php10
    WorkOrderIssue.php11
    WorkOrderReceive.php11
    WorkOrderStatus.php11
    WWW_Access.php15
    WWW_Users.php15
    Z_ChangeBranchCode.php15
    Z_ChangeCustomerCode.php15
    Z_ChangeStockcode.php15
    Z_CheckAllocationsFrom.php15
    Z_CheckAllocs.php2
    Z_CheckDebtorsControl.php15
    Z_CheckGLTransBalance.php15
    Z_CreateChartDetails.php9
    Z_CreateCompany.php15
    Z_CurrencyDebtorsBalances.php15
    Z_CurrencySuppliersBalances.php15
    Z_DataExport.php15
    Z_DeleteCreditNote.php15
    Z_DeleteInvoice.php15
    Z_DeleteSalesTransactions.php15
    Z_index.php15
    Z_MakeNewCompany.php15
    Z_MakeStockLocns.php15
    Z_poAddLanguage.php15
    Z_poAdmin.php15
    Z_poEditLangHeader.php15
    Z_poEditLangModule.php15
    Z_poRebuildDefault.php15
    Z_PriceChanges.php15
    Z_ReApplyCostToSA.php15
    Z_RepostGLFromPeriod.php15
    Z_ReverseSuppPaymentRun.php15
    Z_UpdateChartDetailsBFwd.php15
    Z_Upgrade_3.01-3.02.php15
    Z_Upgrade_3.04-3.05.php15
    Z_Upgrade_3.05-3.06.php15
    Z_UploadForm.php15
    Z_UploadResult.php15