User Tools

Site Tools


de:cobi.wms:berechtigungsverwaltung

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:cobi.wms:berechtigungsverwaltung [2025/10/22 09:30] – [Vermeidung von Klartext-Passwörtern in der Datenbank] thuthde:cobi.wms:berechtigungsverwaltung [2025/10/27 08:58] (current) – [Firmenverbindungen] thuth
Line 1: Line 1:
-===== Berechtigungsverwaltung =====+===== Verwaltungsdatenbank =====
  
  
Line 18: Line 18:
 ===== Firmenverbindungen ===== ===== Firmenverbindungen =====
  
-Sie müssen SAP-Business-One-Datenbankverbindungen definieren, indem Sie Datensätze in die Tabelle **companies** einfügen.+Sie müssen SAP-Business-One-Datenbankverbindungen definieren, indem Sie Datensätze in die Tabelle "companieseinfügen.
  
 In der Regel müssen nur die folgenden Spalten ausgefüllt werden: In der Regel müssen nur die folgenden Spalten ausgefüllt werden:
Line 31: Line 31:
 | APIPassword   | Text oder ''NULL''  | Für SL: SAP-Business-One-Passwort; für IF: ''NULL'' | | APIPassword   | Text oder ''NULL''  | Für SL: SAP-Business-One-Passwort; für IF: ''NULL'' |
  
-**Tipp:** Sie können die Zeichenfolge **''{host}''** als Teil des ''APIURL''-Wertes verwenden, damit die App denselben Hostnamen (oder dieselbe IP-Adresse) wie die Management-Datenbank verwendet.+**Tipp:** Sie können die Zeichenfolge ''{host}'' als Teil des ''APIURL''-Wertes verwenden, damit die App denselben Hostnamen (oder dieselbe IP-Adresse) wie die Management-Datenbank verwendet.
  
-**Tipp:** *(nur für Service Layer)* +**Tipp:** (nur für Service Layer) 
-Wenn Sie möchten, dass Lagerbenutzer sich mit individuellen Logins anmelden, können Sie die Felder ''APIUsername'' und ''APIPassword'' leer lassen und stattdessen die Felder ''APIUser'' und ''APIPass'' in der Tabelle **Users** ausfüllen, wie im Abschnitt [[#separater-login-pro-benutzer|Separater Login pro Benutzer]] beschrieben.+Wenn Sie möchten, dass Lagerbenutzer sich mit individuellen Logins anmelden, können Sie die Felder ''APIUsername'' und ''APIPassword'' leer lassen und stattdessen die Felder ''APIUser'' und ''APIPass'' in der Tabelle Users ausfüllen, wie im Abschnitt [[#separater-login-pro-benutzer|Separater Login pro Benutzer]] beschrieben.
  
 **Hinweis:** **Hinweis:**
 Wenn der ''ApiType'' auf ''SL'' steht, kann die Spalte ''SQLDB'' leer bleiben. Dadurch verwendet die App eine reine Service-Layer-Verbindung (ähnlich einer Cloud-Umgebung). Wenn der ''ApiType'' auf ''SL'' steht, kann die Spalte ''SQLDB'' leer bleiben. Dadurch verwendet die App eine reine Service-Layer-Verbindung (ähnlich einer Cloud-Umgebung).
-Dies wird jedoch **nicht empfohlen**, da eine direkte Datenbankverbindung deutlich mehr Leistung und Stabilität bietet. +Dies wird jedoch nicht empfohlen, da eine direkte Datenbankverbindung deutlich mehr Leistung und Stabilität bietet. 
-Die Spalte ''SQLDB'' sollte daher bei **allen On-Premises-Installationen** ausgefüllt werden.+Die Spalte ''SQLDB'' sollte daher bei allen On-Premises-Installationen ausgefüllt werden.
  
-Weitere Informationen: [[COBI.wms:Architecture]]+Weitere Informationen: [[de:cobi.wms:architekturuebersicht]]
  
-Beispiel für das Hinzufügen einer **Produktiv-** und einer **Testverbindung** in einer On-Premises-Umgebung mit unverschlüsselter Service-Layer-Kommunikation (kein SSL-Zertifikat erforderlich):+Beispiel für das Hinzufügen einer Produktiv- und einer Testverbindung in einer On-Premises-Umgebung mit unverschlüsselter Service-Layer-Kommunikation (kein SSL-Zertifikat erforderlich):
  
 <code sql> <code sql>
Line 54: Line 54:
 **Hinweis:** **Hinweis:**
 Die obigen Beispiele verwenden **''http:''** statt **''https:''** sowie den Port **50001** statt **50000**. Die obigen Beispiele verwenden **''http:''** statt **''https:''** sowie den Port **50001** statt **50000**.
-Dies bedeutet, dass die Kommunikation mit dem Service Layer **unverschlüsselt** erfolgt und die App den **Load Balancer überspringt**, um direkt **Node 1** des Service Layers anzusprechen.+Dies bedeutet, dass die Kommunikation mit dem Service Layer unverschlüsselt erfolgt und die App den Load Balancer überspringt, um direkt Node 1 des Service Layers anzusprechen.
  
-Wenn Sie **verschlüsselte Kommunikation** mit dem Service Layer wünschen oder **Performanceprobleme** durch das Umgehen des Load Balancers auftreten, müssen Sie sicherstellen, dass ein **gültiges SSL-Zertifikat** installiert ist und anschließend **„http“ in „https“** sowie **Port 50001 in 50000** ändern.+Wenn Sie verschlüsselte Kommunikation mit dem Service Layer wünschen oder Performanceprobleme durch das Umgehen des Load Balancers auftreten, müssen Sie sicherstellen, dass ein gültiges SSL-Zertifikat installiert ist und anschließend „http“ in „https“ sowie Port 50001 in 50000 ändern.
  
 ==== Optionale Spalten ==== ==== Optionale Spalten ====
  
-Die folgenden Spalten der Tabelle **companies** sollten in der Regel leer bleiben (''NULL'' oder leerer Text):+Die folgenden Spalten der Tabelle ''companies'' sollten in der Regel leer bleiben (''NULL'' oder leerer Text):
  
 ^ Spalte         ^ Typ / Gültige Werte ^ Beschreibung ^ ^ Spalte         ^ Typ / Gültige Werte ^ Beschreibung ^
Line 82: Line 82:
 Die Spalte ''Profile'' wird verwendet, um kundenspezifische Anpassungen zu aktivieren, und sollte leer bleiben, sofern nichts anderes angegeben wurde. Die Spalte ''Profile'' wird verwendet, um kundenspezifische Anpassungen zu aktivieren, und sollte leer bleiben, sofern nichts anderes angegeben wurde.
  
-Die Spalte ''PrintService'' kann genutzt werden, um zentral die Adresse des [[Print Service|COBI.wms Print Service]] zu definieren. +Die Spalte ''PrintService'' kann genutzt werden, um zentral die Adresse des [[de:cobi.wms:druckdienst]] zu definieren. 
-Wenn sie hier nicht gesetzt ist, muss sie direkt auf jedem Android-Gerät in den [[Print Settings]] der App hinterlegt werden.+Wenn sie hier nicht gesetzt ist, muss sie direkt auf jedem Android-Gerät in den [[de:cobi.wms:druckeinstellungen]] der App hinterlegt werden.
 Bei Verwendung des Standardports genügt die Angabe des Hostnamens oder der IP-Adresse. Bei Verwendung des Standardports genügt die Angabe des Hostnamens oder der IP-Adresse.
 Bei einem abweichenden Port geben Sie den Wert im Format ''HOST:PORT'' ein. Bei einem abweichenden Port geben Sie den Wert im Format ''HOST:PORT'' ein.
Line 223: Line 223:
 ==== Lizenzen importieren ==== ==== Lizenzen importieren ====
  
-Lizenzen können ganz einfach durch das Ausführen von **INSERT-Befehlen** importiert werden:+Lizenzen können ganz einfach durch das Ausführen von INSERT-Befehlen importiert werden:
  
 <code sql> <code sql>
Line 232: Line 232:
 </code> </code>
  
-Die Tabelle **licenses** enthält außerdem eine optionale Spalte **''notes''**, die Sie für Anmerkungen zur jeweiligen Lizenz verwenden können. +Die Tabelle licenses enthält außerdem eine optionale Spalte ''notes'', die Sie für Anmerkungen zur jeweiligen Lizenz verwenden können. 
-Dies ist beispielsweise nützlich, wenn Sie sowohl **COBI.wms-Lizenzen** als auch **COBI.ppc-Lizenzen** in derselben Datenbank verwalten und diese voneinander unterscheiden möchten. +Dies ist beispielsweise nützlich, wenn Sie sowohl COBI.wms-Lizenzen als auch COBI.ppc-Lizenzen in derselben Datenbank verwalten und diese voneinander unterscheiden möchten. 
-Oder wenn Sie **Testlizenzen** importieren, die nur für einen begrenzten Zeitraum gültig sind, können Sie dies in der Notiz vermerken.+Oder wenn Sie Testlizenzen importieren, die nur für einen begrenzten Zeitraum gültig sind, können Sie dies in der Notiz vermerken.
  
 Beispiele: Beispiele:
Line 244: Line 244:
 </code> </code>
  
----+==== Lizenzen Zuordnen ====
  
 === Massenbearbeitung der Tabelle LICENSES === === Massenbearbeitung der Tabelle LICENSES ===
  
-Die Information, welchem Benutzer oder Gerät eine Lizenz zugewiesen ist, befindet sich direkt in der Tabelle **LICENSES** der Management-Datenbank.+Die Information, welchem Benutzer oder Gerät eine Lizenz zugewiesen ist, befindet sich direkt in der Tabelle LICENSES der Management-Datenbank.
 Wenn Sie eine größere Anzahl von Änderungen vornehmen möchten, ist es oft am einfachsten, diese Tabelle direkt zu bearbeiten. Wenn Sie eine größere Anzahl von Änderungen vornehmen möchten, ist es oft am einfachsten, diese Tabelle direkt zu bearbeiten.
  
-Beispielsweise können Sie im **MS SQL Server Management Studio** mit der rechten Maustaste auf die Tabelle **LICENSES** klicken und **„Edit Top 200 Rows“ (Oberste 200 Zeilen bearbeiten)** auswählen. +Beispielsweise können Sie im MS SQL Server Management Studio mit der rechten Maustaste auf die Tabelle LICENSES klicken und „Edit Top 200 Rows“ (Oberste 200 Zeilen bearbeiten) auswählen. 
-Dort können Sie die Spalten **UserID** oder **DeviceID** jeder Lizenz direkt bearbeiten. +Dort können Sie die Spalten UserID oder DeviceID jeder Lizenz direkt bearbeiten. 
-*(Hinweis: Für jede Lizenz darf immer nur **eine** dieser beiden Spalten gefüllt sein – die andere muss auf **NULL** stehen.)*+(Hinweis: Für jede Lizenz darf immer nur eine dieser beiden Spalten gefüllt sein – die andere muss auf NULL stehen.)
  
 === Verwendung von gespeicherten Prozeduren === === Verwendung von gespeicherten Prozeduren ===
  
 Zum Zuweisen von Lizenzen an Geräte oder Benutzer können Sie auch die gespeicherten Prozeduren Zum Zuweisen von Lizenzen an Geräte oder Benutzer können Sie auch die gespeicherten Prozeduren
-**''assignDeviceLicense''** und **''assignUserLicense''** verwenden.+''assignDeviceLicense'' und ''assignUserLicense'' verwenden.
 Diese prüfen automatisch, ob noch freie (nicht zugewiesene) Lizenzen verfügbar sind, und verwenden eine davon: Diese prüfen automatisch, ob noch freie (nicht zugewiesene) Lizenzen verfügbar sind, und verwenden eine davon:
  
Line 272: Line 272:
 call assignUserLicense('user1'); -- Weist Benutzer 'user1' eine freie Lizenz zu </code> call assignUserLicense('user1'); -- Weist Benutzer 'user1' eine freie Lizenz zu </code>
  
-Zum **Entziehen von Lizenzen** können Sie die Prozeduren +Zum Entziehen von Lizenzen können Sie die Prozeduren 
-**''revokeDeviceLicense''** und **''revokeUserLicense''** verwenden.+''revokeDeviceLicense'' und ''revokeUserLicense'' verwenden.
 Dadurch wird die aktuell verwendete Lizenz des entsprechenden Geräts oder Benutzers wieder freigegeben und kann anschließend einem anderen Benutzer oder Gerät zugewiesen werden: Dadurch wird die aktuell verwendete Lizenz des entsprechenden Geräts oder Benutzers wieder freigegeben und kann anschließend einem anderen Benutzer oder Gerät zugewiesen werden:
  
Line 289: Line 289:
 Alle Module der App sind standardmäßig für **alle Geräte und Benutzer aktiviert** und müssen **manuell gesperrt** werden, wenn Sie dies ändern möchten. Alle Module der App sind standardmäßig für **alle Geräte und Benutzer aktiviert** und müssen **manuell gesperrt** werden, wenn Sie dies ändern möchten.
  
-Die Einstellungen für **Benutzer** haben Vorrang vor den Einstellungen für **Geräte**.+Die Einstellungen für Benutzer haben Vorrang vor den Einstellungen für **Geräte**.
 Beispielsweise können Sie bestimmte Module für ein Gerät sperren – wenn sich jedoch ein Benutzer auf diesem Gerät anmeldet, der für diese Module explizit Berechtigungen erhalten hat, kann er diese Module trotzdem verwenden. Beispielsweise können Sie bestimmte Module für ein Gerät sperren – wenn sich jedoch ein Benutzer auf diesem Gerät anmeldet, der für diese Module explizit Berechtigungen erhalten hat, kann er diese Module trotzdem verwenden.
-Umgekehrt gilt: Wenn ein Benutzer explizit für bestimmte Module gesperrt ist, stehen diese Module für diesen Benutzer **auf keinem Gerät** zur Verfügung.+Umgekehrt gilt: Wenn ein Benutzer explizit für bestimmte Module gesperrt ist, stehen diese Module für diesen Benutzer auf keinem Gerät zur Verfügung.
  
-Sie können die Nutzung der App **ohne COBI.wms-Benutzerlogin effektiv blockieren**, indem Sie alle Module für alle Geräte sperren und dann die Berechtigungen gezielt an Benutzer vergeben.+==== Berechtigungsverwaltung ==== 
 + 
 +Sie können die Nutzung der App ohne COBI.wms-Benutzerlogin effektiv blockieren, indem Sie alle Module für alle Geräte sperren und dann die Berechtigungen gezielt an Benutzer vergeben.
 (Dies kann auch erreicht werden, indem in der Tabelle ''Companies'' die Felder ''apiUsername'' und ''apiPassword'' leer gelassen und nur für einzelne Benutzer ausgefüllt werden.) (Dies kann auch erreicht werden, indem in der Tabelle ''Companies'' die Felder ''apiUsername'' und ''apiPassword'' leer gelassen und nur für einzelne Benutzer ausgefüllt werden.)
  
Line 307: Line 309:
 call setUserPermission('user1', 'MODULE_ID', 1); -- Benutzer user1 hat es aktiviert und kann es trotzdem nutzen </code> call setUserPermission('user1', 'MODULE_ID', 1); -- Benutzer user1 hat es aktiviert und kann es trotzdem nutzen </code>
  
-Der **erste Parameter** ist die Geräte- oder Benutzer-ID, +Der erste Parameter ist die Geräte- oder Benutzer-ID, 
-der **zweite Parameter** ist die Modul-ID, +der zweite Parameter ist die Modul-ID, 
-und der **dritte Parameter** gibt den Status an: +und der dritte Parameter gibt den Status an: 
-**1** bedeutet **erlaubt**, **0** bedeutet **gesperrt**.+**1** bedeutet erlaubt, **0** bedeutet gesperrt.
  
 Im obigen Beispiel ist also das Modul „MODULE_ID“ für Gerät 1 gesperrt, aber für den Benutzer „user1“ ausdrücklich freigegeben. Im obigen Beispiel ist also das Modul „MODULE_ID“ für Gerät 1 gesperrt, aber für den Benutzer „user1“ ausdrücklich freigegeben.
Line 316: Line 318:
 Nachfolgend finden Sie eine Liste der verfügbaren Modul-IDs: Nachfolgend finden Sie eine Liste der verfügbaren Modul-IDs:
  
-* ''IGN'': Plus-Buchung +  * ''IGN'': Plus-Buchung 
-* ''IGE'': Minus-Buchung +  * ''IGE'': Minus-Buchung 
-* ''WTR'': Umlagerung +  * ''WTR'': Umlagerung 
-* ''PDN'': Wareneingang +  * ''PDN'': Wareneingang 
-* ''PKL'': Kommissionierung +  * ''PKL'': Kommissionierung 
-* ''RDR'': Kundenauftrag +  * ''RDR'': Kundenauftrag 
-* ''DLN'': Lieferung +  * ''DLN'': Lieferung 
-* ''RPD'': Retoureneingang (Einkauf) +  * ''RPD'': Retoureneingang (Einkauf) 
-* ''RDN'': Rücklieferung (Verkauf) +  * ''RDN'': Rücklieferung (Verkauf) 
-* ''IPE'': Entnahme für Produktion +  * ''IPE'': Ausgabe für Produktion 
-* ''IPN'': Zugang aus Produktion +  * ''IPN'': Eingang aus Produktion 
-* ''PRQ'': Bestellanforderung +  * ''PRQ'': Bestellung Anfordern 
-* ''POR'': Bestellung +  * ''POR'': Bestellen 
-* ''ITM'': Artikelübersicht +  * ''ITM'': Bestandsliste 
-* ''INC'': Inventur +  * ''INC'': Inventur 
-* ''WTQ'': Umlagerungsanforderung +  * ''WTQ'': Anfrage zur Umlagerung 
-* ''PRINT'': Etikettendruck +  * ''PRINT'': Etiketten 
-* ''ITEM'': Artikelinfo+  * ''ITEM'': Artikelinfo
  
 Zur Vereinfachung finden Sie hier eine Vorlage, um die Prozedur ''setUserPermission'' für **alle Module** einmal auszuführen. Zur Vereinfachung finden Sie hier eine Vorlage, um die Prozedur ''setUserPermission'' für **alle Module** einmal auszuführen.
de/cobi.wms/berechtigungsverwaltung.1761118250.txt.gz · Last modified: by thuth

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki