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:27] – [COBI.wms-Benutzer] 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 190: Line 190:
 Normalerweise muss das Passwort eines SAP-Business-One-Benutzers entweder in der Spalte **''apiPassword''** (Tabelle ''companies'') oder **''apiPass''** (Tabelle ''users'') angegeben werden. Normalerweise muss das Passwort eines SAP-Business-One-Benutzers entweder in der Spalte **''apiPassword''** (Tabelle ''companies'') oder **''apiPass''** (Tabelle ''users'') angegeben werden.
  
-*(Technischer Hinweis: Eine Verschlüsselung dieser Spalten wäre sinnlos, da der Schlüssel zum Entschlüsseln in der App enthalten sein müsste und somit ausgelesen werden könnte. Eine Speicherung als Hash ist ebenfalls nicht möglich, da das Passwort im Klartext an den Service Layer übermittelt werden muss.)*+(Technischer Hinweis: Eine Verschlüsselung dieser Spalten wäre sinnlos, da der Schlüssel zum Entschlüsseln in der App enthalten sein müsste und somit ausgelesen werden könnte. Eine Speicherung als Hash ist ebenfalls nicht möglich, da das Passwort im Klartext an den Service Layer übermittelt werden muss.)*
  
 Um dies zu vermeiden, kann folgende Strategie verwendet werden: Um dies zu vermeiden, kann folgende Strategie verwendet werden:
  
-Lassen Sie die Felder **''apiPassword''** und **''apiPass''** leer. +  - Lassen Sie die Felder ''apiPassword'' und ''apiPass'' leer. 
-Erstellen Sie COBI.wms-Benutzer mit denselben **Benutzernamen und Passwörtern** wie in SAP Business One.+  Erstellen Sie COBI.wms-Benutzer mit denselben Benutzernamen und Passwörtern wie in SAP Business One.
  
 Wenn Sie sich in der App anmelden, nutzt COBI.wms zunächst diese Zugangsdaten für den COBI.wms-Login. Wenn Sie sich in der App anmelden, nutzt COBI.wms zunächst diese Zugangsdaten für den COBI.wms-Login.
Line 203: Line 203:
 Wenn also Benutzername und Passwort identisch mit denen des SAP-Benutzers sind, funktioniert die Anmeldung automatisch. Wenn also Benutzername und Passwort identisch mit denen des SAP-Benutzers sind, funktioniert die Anmeldung automatisch.
  
-*(Technischer Hinweis: Das Passwort eines COBI.wms-Benutzers wird **nicht im Klartext**, sondern als sicherer Hashwert gespeichert, da es nicht an externe Systeme übermittelt wird.)*+(Technischer Hinweis: Das Passwort eines COBI.wms-Benutzers wird nicht im Klartext, sondern als sicherer Hashwert gespeichert, da es nicht an externe Systeme übermittelt wird.) 
 + 
 +Hier ist der Text in gut lesbarem, wiki-tauglichem Deutsch übersetzt: 
 + 
 +==== Lizenzmodell ==== 
 + 
 +Jeder parallele Zugriff auf COBI.wms erfordert eine eigene Lizenz. 
 +Wenn beispielsweise maximal drei Personen COBI.wms gleichzeitig nutzen sollen, werden drei Lizenzen benötigt. 
 + 
 +Dabei können Sie selbst entscheiden, ob Sie die Lizenzen gerätebasiert oder benutzerbasiert vergeben möchten. 
 + 
 +Sie können Ihre Lizenzen beispielsweise drei Geräten zuweisen. In diesem Fall kann jede Person diese Geräte verwenden – unabhängig davon, ob sie über einen COBI.wms-Benutzer verfügt oder nicht. 
 + 
 +Alternativ können Sie die Lizenzen drei COBI.wms-Benutzern zuweisen. Diese Benutzer können sich dann mit ihrem Login auf beliebig vielen Android-Geräten anmelden und COBI.wms nutzen. 
 + 
 +Es ist auch möglich, beide Modelle zu kombinieren. 
 +Beispielsweise können Sie zwei Lizenzen Geräten zuweisen, damit diese von jedem genutzt werden können, und die dritte Lizenz einem Benutzer, damit dieser sich von beliebigen Android-Geräten aus anmelden kann.
  
 ==== 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 216: 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 228: 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 256: 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 273: 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. 
 + 
 +==== 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.+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 291: 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 300: 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.1761118036.txt.gz · Last modified: by thuth

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki