- Kategorien:
Kontextfunktionen (Sitzungsobjekt)
CURRENT_SECONDARY_ROLES¶
Gibt die Sekundärrollen zurück, die für die aktuelle Sitzung verwendet werden.
Um einen anderen Satz von Sekundärrollen für die Sitzung zu aktivieren, führen Sie den Befehl USE SECONDARY ROLES aus.
Syntax¶
CURRENT_SECONDARY_ROLES()
Argumente¶
Keine.
Rückgabewerte¶
Gibt eine Zeichenfolge (VARCHAR) zurück, die ein JSON-kodiertes Objekt ist, das die folgenden Name/Wert-Paare enthält:
roles
Enthält eine Auflistung der aktivierten Sekundärrollen. Diese Liste enthält nur die Rollen, die dem Benutzer direkt zugewiesen sind; Rollen, die in der Hierarchie dieser Rollen untergeordnet sind, werden nicht aufgeführt.
value
Enthält eine Liste der angefragten Sekundärrollen, die entweder mit der Eigenschaft
DEFAULT_SECONDARY_ROLES
des aktuellen Benutzers oder mit dem Befehl USE SECONDARY ROLES angefragt wurden.
Nutzungshinweise¶
Der Zugriff auf eine Freigabe von einer sicheren UDF oder sicheren Ansicht, die CURRENT_SECONDARY_ROLES enthält, ist zulässig. Wenn auf die sichere UDF oder die sichere Ansicht über das Data Sharing-Verbraucherkonto zugegriffen wird, gibt CURRENT_SECONDARY_ROLES immer einen NULL-Wert zurück.
Beispiele¶
Der aktuelle Benutzer hat DEFAULT_SECONDARY_ROLES=('ALL')
. Die kundenspezifischen Rollen role1
, role2
und role3
werden dem aktuellen Benutzer zugewiesen und sind als Sekundärrollen aktiv:
SELECT CURRENT_SECONDARY_ROLES();
+------------------------------------------------------+
| CURRENT_SECONDARY_ROLES() |
+------------------------------------------------------+
| {"roles":"ROLE1,ROLE2,ROLE3","value":"ALL"} |
+------------------------------------------------------+