Gridkontextmenü (rechte Maustaste in Übersichten)

Mehr
5 Jahre 5 Monate her - 3 Jahre 3 Tage her #1259 von toja
Ab OrgaSoft.NET Version 1.1.5004.21448 besteht die Möglichkeit, für die Gridkontextfunktion (rechte Maustaste in Übersichten) Berechtigungen zu setzen um eine erhöhte Datensicherheit zu gewährleisten.

Als Defaulteinstellung bei Auslieferung des Release sind für die Gridkontextfunktion alle Rechte entzogen, somit müssen nach erfolgreichem Releasewechsel die Rechte überarbeitet werden.
Unter "Administration/Zugangsberechtigung“ lassen sich für die jeweiligen Zugangsgruppen die Berechtigungen setzen.



Hinweis:
Neue Berechtigungen liefern wir generell deaktiviert aus!
Wenn Sie wünschen, dass diese nach dem Update aktiviert sind, können Sie das DBUpdate mit dem Parameter "/AllowNewPermission" starten, dadurch werden die neuen Berechtigungen aktiviert.
Bereits gesetzte bzw. entzogene Rechte bleiben davon unberührt.

Wurde das DBUpdate ohne Parametererweiterung durchgeführt, so ist es auch möglich, neue sowie noch nicht gesetzte Berechtigungen mit der nachfolgenden SQL-Abfrage zu setzten.

Alle Berechtigungen für alle Benutzer/Zugangsgruppen können erlaubt werden mit:
INSERT INTO ObjectAccess (AccessGroupId, RoleId, SecurityObjectId, AccessType)
SELECT ORAG.AccessGroupId, ORAG.RoleId, ORAG.SecurityObjectId,
                           CASE WHEN SecurityObjects.Type=0 THEN 7 
                           ELSE CASE WHEN SecurityObjects.Type=1 THEN 3 
                                ELSE CASE WHEN SecurityObjects.Type=2 THEN 3 
                                     ELSE CASE WHEN SecurityObjects.Type=3 THEN 7 
                                          ELSE CASE WHEN SecurityObjects.Type=4 THEN 3 
                                               ELSE CASE WHEN SecurityObjects.Type=9 THEN 7 
                                                    ELSE 7 
                                                    END 
                                               END 
                                          END 
                                     END 
                                END 
                           END 
                           AS AccessType
       FROM 
           (SELECT DISTINCT ObjectAccess.AccessGroupId, ObjectRoles.RoleID, ObjectRoles.SecurityObjectId
                   FROM ObjectRoles, ObjectAccess) AS ORAG
           INNER JOIN SecurityObjects ON ORAG.SecurityObjectId=SecurityObjects.Id
           LEFT JOIN ObjectAccess ON ObjectAccess.AccessGroupId=ORAG.AccessGroupId AND ORAG.RoleID=ObjectAccess.RoleId AND ORAG.SecurityObjectId=ObjectAccess.SecurityObjectId 
       WHERE ObjectAccess.SecurityObjectId IS NULL

Wenn man nur einer bestimmten Zugangsgruppe alles erlauben will ist folgendes Statment zu verwenden, das X in "SELECT DISTINCT X AS AccessGroupId" ist durch die Nummer der Zugangsgruppe zu ersetzen (z.Bsp. 2=Systemmanager)
INSERT INTO ObjectAccess (AccessGroupId, RoleId, SecurityObjectId, AccessType)
SELECT ORAG.AccessGroupId, ORAG.RoleId, ORAG.SecurityObjectId,
                           CASE WHEN SecurityObjects.Type=0 THEN 7 
                           ELSE CASE WHEN SecurityObjects.Type=1 THEN 3 
                                ELSE CASE WHEN SecurityObjects.Type=2 THEN 3 
                                     ELSE CASE WHEN SecurityObjects.Type=3 THEN 7 
                                          ELSE CASE WHEN SecurityObjects.Type=4 THEN 3 
                                               ELSE CASE WHEN SecurityObjects.Type=9 THEN 7 
                                                    ELSE 7 
                                                    END 
                                               END 
                                          END 
                                     END 
                                END 
                           END 
                           AS AccessType
       FROM 
           (SELECT DISTINCT X AS AccessGroupId, ObjectRoles.RoleID, ObjectRoles.SecurityObjectId
                   FROM ObjectRoles, ObjectAccess) AS ORAG
           INNER JOIN SecurityObjects ON ORAG.SecurityObjectId=SecurityObjects.Id
           LEFT JOIN ObjectAccess ON ObjectAccess.AccessGroupId=ORAG.AccessGroupId AND ORAG.RoleID=ObjectAccess.RoleId AND ORAG.SecurityObjectId=ObjectAccess.SecurityObjectId 
       WHERE ObjectAccess.SecurityObjectId IS NULL
Anhänge:
Letzte Änderung: 3 Jahre 3 Tage her von toja. Begründung: Korrektur

Bitte Anmelden oder Registrieren um der Konversation beizutreten.