Trace: • Application Events • How to Get the Current Username • Application Without Authentication • Configuring Alive handling • NTLM Authentication • Using Calculated Values • Configuring Timeouts for Vaadin UI • Calling a Server Action • Use Master/Detail Without Foreign Key • Sicherheit
Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
de:jvx:security [2026/11/11 11:57] admin |
de:jvx:security [2026/11/11 13:22] (current) admin |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ~~Title: Security~~ | + | ~~Title: Sicherheit~~ |
| Standardmässig wird bereits darauf geachtet das Object Zugriffe nur mit Authentifizierung möglich sind. Wenn man das nicht ausreicht, können in JVx weitere Sicherheitsvorkehrungen aktiviert werden: | Standardmässig wird bereits darauf geachtet das Object Zugriffe nur mit Authentifizierung möglich sind. Wenn man das nicht ausreicht, können in JVx weitere Sicherheitsvorkehrungen aktiviert werden: | ||
| - | + | =====ServletServer===== | |
| - | ==ServletServer== | + | |
| Der ''ServletServer'' wird für die Kommunikation zwischen einem Desktop Client und dem Backend benötigt. Sie können den ''ServletServer'' vollständig deaktivieren wenn Sie keinen Desktop Client verwenden oder sie nicht direkt ''HttpConnection'' verwenden. | Der ''ServletServer'' wird für die Kommunikation zwischen einem Desktop Client und dem Backend benötigt. Sie können den ''ServletServer'' vollständig deaktivieren wenn Sie keinen Desktop Client verwenden oder sie nicht direkt ''HttpConnection'' verwenden. | ||
| Line 25: | Line 24: | ||
| ===Regeldefinition=== | ===Regeldefinition=== | ||
| - | Eine Regel wird definiert durch: **Objektname.Methodenname(//[param1[, param2]]//)** | + | Eine Regel wird definiert durch: **[lco.name.MyClass:]Objektname.Methodenname(//[param1[, param2]]//)** |
| * Die eckigen Klammern definieren optionale Felder | * Die eckigen Klammern definieren optionale Felder | ||
| Line 79: | Line 78: | ||
| Eine weitere Möglichkeit ist das Laden Ihres Checkers über den Standard Java Service Loader. | Eine weitere Möglichkeit ist das Laden Ihres Checkers über den Standard Java Service Loader. | ||
| - | ==REST Dienste== | + | =====REST Dienste===== |
| Wenn Sie [[de:jvx:common:util:rest|REST Dienste]] verwenden um den Zugriff auf Applikationsdaten mittels standard HTTP zu ermöglichen, wie z.B: | Wenn Sie [[de:jvx:common:util:rest|REST Dienste]] verwenden um den Zugriff auf Applikationsdaten mittels standard HTTP zu ermöglichen, wie z.B: | ||
| Line 100: | Line 99: | ||
| </file> | </file> | ||
| - | dann können Sie einzelne Services deaktivieren. | + | dann können Sie einzelne Dienste deaktivieren. |
| - | ===Admin Services=== | + | ===Admin Dienste=== |
| - | Die Admin Services generell deaktivieren: | + | Die Admin Dienste generell deaktivieren: |
| <file xml> | <file xml> | ||
| Line 113: | Line 112: | ||
| </file> | </file> | ||
| - | Die Admin Services sind Standardmässig aktiviert. | + | Die Admin Dienste sind Standardmässig aktiviert. |
| - | Um einzelne Services zu deaktivieren: | + | Um einzelne Dienste zu deaktivieren: |
| <file xml> | <file xml> | ||
| Line 124: | Line 123: | ||
| </file> | </file> | ||
| - | Vordefinierte Admin Services: | + | Vordefinierte Admin Dienste: |
| * checkDB | * checkDB | ||
| Line 131: | Line 130: | ||
| * memoryStatus | * memoryStatus | ||
| - | Um alle Admin Services zu deaktivieren: | + | Um alle Admin Dienste zu deaktivieren: |
| <file xml> | <file xml> | ||
| Line 140: | Line 139: | ||
| </file> | </file> | ||
| - | ===Benutzerdefinierte Admin Services=== | + | ===Benutzerdefinierte Admin Dienste=== |
| - | Es gibt in JVx die Möglichkeit, die Admin Services zu erweitern. Das sind dann sogenannte benutzerdefinierte Admin Services. Um diese zu deaktiveren: | + | Es gibt in JVx die Möglichkeit, die Admin Dienste zu erweitern. Das sind dann sogenannte benutzerdefinierte Admin Dienste. Um diese zu deaktiveren: |
| <file xml> | <file xml> | ||
| Line 151: | Line 150: | ||
| </file> | </file> | ||
| - | + | =====Life-cycle Objekte===== | |
| - | ==Life-cycle Objekte== | + | |
| In den [[de:jvx:server:lco:lifecycle|Life-cycle]] Objekten wird die Business Logik definiert. Die Standard Sicherheit sieht vor das alle public Methoden auch aufrufbar sind. Wenn Sie eine Methode auf ''protected'' oder ''private'' ändern, dann ist diese auch nicht mehr aufrufbar, z.B.: | In den [[de:jvx:server:lco:lifecycle|Life-cycle]] Objekten wird die Business Logik definiert. Die Standard Sicherheit sieht vor das alle public Methoden auch aufrufbar sind. Wenn Sie eine Methode auf ''protected'' oder ''private'' ändern, dann ist diese auch nicht mehr aufrufbar, z.B.: | ||
| Line 175: | Line 173: | ||
| Details zu ''@Accessible'' und ''@NotAccessible'' finden sie [[jvx:server:lco:actions_in_objects|hier]]. | Details zu ''@Accessible'' und ''@NotAccessible'' finden sie [[jvx:server:lco:actions_in_objects|hier]]. | ||
| - | ==Objektspezifische Aufrufe== | + | =====Objektspezifische Aufrufe===== |
| - | Wenn Sie in ihrer Applikation spezifische Zugriffe steuern wollen, dann können Sie das mit der Implementierung von [[de:jvx:server:security:object_method_access|IObjectAccessController]] erreichen. Dieses Interface wird bei jedem Aufruf eines [[de:jvx:server:lco:lifecycle|Life-cycle Objektes]] geprüft. Dadurch können Sie auf Instanz Ebene feingranular steuern. | + | Wenn Sie in ihrer Applikation spezifische Zugriffe steuern wollen, dann können Sie das mit der Implementierung von [[jvx:server:security:object_method_access|IObjectAccessController]] erreichen. Dieses Interface wird bei jedem Aufruf eines [[de:jvx:server:lco:lifecycle|Life-cycle Objektes]] geprüft. Dadurch können Sie auf Instanz Ebene feingranular steuern. |
| Die Zugriffsteuerung für REST funktioniert auch nur bei REST calls und die Zugriffsteuerung für ''ServletServer'' ebenfalls nur wenn eine ''HttpConnection'' verwendet wird. Der Einsatz des [[jvx:server:security:object_method_access|IObjectAccessController]] funktioniert unabhängig davon. | Die Zugriffsteuerung für REST funktioniert auch nur bei REST calls und die Zugriffsteuerung für ''ServletServer'' ebenfalls nur wenn eine ''HttpConnection'' verwendet wird. Der Einsatz des [[jvx:server:security:object_method_access|IObjectAccessController]] funktioniert unabhängig davon. | ||
| - | ==Environment abhängiger Zugriff== | + | =====Environment abhängiger Zugriff===== |
| Wenn Sie mit Accessible und NotAccessible arbeiten, dann können Sie den Zugriff auch per Environment steuer, wie [[jvx:server:lco:accessible_notaccessible|hier]] beschrieben. | Wenn Sie mit Accessible und NotAccessible arbeiten, dann können Sie den Zugriff auch per Environment steuer, wie [[jvx:server:lco:accessible_notaccessible|hier]] beschrieben. | ||
| - | + | =====Checkliste===== | |
| - | ==Checkliste== | + | |
| * ''ServletServer'' deaktivieren oder Aufrufe einschränken | * ''ServletServer'' deaktivieren oder Aufrufe einschränken | ||
| - | * [[de:jvx:common:util:rest|REST Dienste]] komplett deaktivieren oder lediglich einzelne Services aktivieren | + | * [[de:jvx:common:util:rest|REST Dienste]] komplett deaktivieren oder lediglich einzelne Dienste aktivieren |
| * [[jde:vx:server:lco:lifecycle|Life-cycle Objekte]] kontrollieren (public, protected, private) und Einsatz von ''@NotAccessible'' prüfen | * [[jde:vx:server:lco:lifecycle|Life-cycle Objekte]] kontrollieren (public, protected, private) und Einsatz von ''@NotAccessible'' prüfen | ||
| * Environment abhängiger Einsatz von ''@Accessible'' und ''@NotAccessible'' | * Environment abhängiger Einsatz von ''@Accessible'' und ''@NotAccessible'' | ||
