<< Click to Display Table of Contents >> Navigation: Tabellen > Regelbasierte Berechtigungen für CIs und Menügruppen > Regeln über T-SQL |
Schreiben Sie ein T-SQL Script, welches die Berechtigungen für einen konkreten Webbenutzer erzeugt.
Der Webbenutzer steht in der Variable @pGrpID. Seine Berechtigungen speichern Sie (über insert) in der Tabelle #new_rights (Spalten „objid“ und „attr“).
Hinweis: Für eine Tabelle oder für Menügruppen können mehrere Regeln über T-SQL definiert werden.
Beispiel 1: Mitarbeiter hat auf die ihm zugeordneten Rechner (HWM.VCOL_ANW_ID) alle Rechte
insert into #new_rights (objid, attr) select HWM_ID, 1+4+8+16 from HWM where HWM.VCOL_ANW_ID=@pGrpID
|
Beispiel 2: Mitarbeiter der Gruppe “admin” dürfen alle Rechner sehen und bearbeiten.
if exists ( select * from ANWROL inner join ROL on ROL_ID=ANWROL_ROL_ID where ANWROL_ANW_ID=@pGrpID and ROL_NAME='admin' ) insert into #new_rights (objid, attr) select HWM_ID, 1+4 from HWM
|
Hinweis: Aus Optimierungssicht ist diese Konstruktion nicht optimal. Für die Fälle, dass ein konkreter Mitarbeiter oder eine konkrete Rolle bestimmte Berechtigungen für alle konkreten Objekte einer Tabelle erhalten soll, sollte die Berechtigungsvergabe über „Direkte Zuordnung allen Objekte der Tabellen zu konkreten Berechtigten“ erfolgen (siehe auch Regeln über „Direkte Zuordnung aller Objekte der Tabellen zu konkreten Berechtigten“).