Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
engine:procedures:mi_getexecuterights_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== mi_GetExecuteRights_Ad ===== | ||
+ | |||
+ | Dient der Überprüfung, ob der Benutzer, der diese Prozedur hier aufruft, (eine) bestimmte Prozedur(en) ausführen darf.\\ | ||
+ | |||
+ | Anmerkung : Der Benutzer, für den Rechte ermittelt werden, darf NICHT in der "public"-Gruppe sein (sonst gibt es "-500")\\ | ||
+ | |HTTP-Method|GET | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Tags|{{tag>[mi Get Execute Rights Ad]}}| | ||
+ | |Engine-Kategorie|basics | | ||
+ | |Engine-Typ|Daten-Ermittlung | | ||
+ | |Letzte Aktualisierung|7.0.7 (2015-01-29)| | ||
+ | |||
+ | ==== Parameter ==== | ||
+ | |||
+ | ^Name ((Pflichtparameter sind unterstrichen)) ^Standard-Wert ^Beschreibung ((siehe [[webservice:engine_parameterconventions|Parameter-Konventionen engine/<Prozedur-Name>]])) ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |ProcedureName|NULL |Name einer Prozedur. "NULL" übergeben, falls die Namen über die Tabelle "tempdb.dbo.AnyValues" übergeben werden; alternativ kann auch eine "GetAdminProceduresForUserID" angegeben werden (nur für den "Super"-Admin [Name = Datenbankname] !).\\ |varchar(50)|3.5.0| | ||
+ | |GetAdminProceduresForUserID|NULL |ID eines "dStore"-Benutzers. Dieser Parameter kann nur vom "Super"-Admin (Name = Datenbankname) verwendet werden ! Bei "-1" werden "UserID"s in "tempdb.dbo.OneID" erwartet. Für den oder die Benutzer werden dann alle "Ad"-Prozeduren untersucht.\\ |smallint|3.5.4| | ||
+ | |ProcedureCategoryID|NULL |ID einer Kategorie von Prozeduren (siehe [[dstoreproc>do_GetProcedureCategories_Ad]]). Wird nur beachtet, falls "ProcedureName" "NULL" ist UND "GetAdminProceduresForUserID" angegeben wurde. Dann werden nur die "Ad"-Prozeduren dieser Kategorie berücksichtigt.\\ |tinyint|3.5.4| | ||
+ | ==== Rückgabe ==== | ||
+ | |||
+ | === (parameterunabhängig) === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |ProcedureName|Name einer Prozedur\\ |varchar(50)|3.5.0 | | ||
+ | |ProcedureExists|Handelt es sich bei "ProcedureName" auch um eine existierende Prozedure des "dStore" ?\\ |bit|3.5.0 | | ||
+ | |ExecuteRight|Hat der Benutzer "UserName" Ausführungsrechte für die Prozedur "ProcedureName" ?\\ |bit|3.5.0 | | ||
+ | |ProcedureFunction|Kurz-Beschreibung der Prozedur "ProcedureName"\\ |varchar(255)|3.5.4 | | ||
+ | |UserName|Ein "dStore"-Benutzer, der also in "UserInfo" (siehe [[dstoreproc>mi_GetUserInfo_Ad]]) registriert ist\\ |varchar(50)|3.5.20 | | ||
+ | |UserID|ID des Benutzers "UserName" aus "UserInfo"\\ |smallint|5.0.0 | | ||
+ | |UserExecRightOnDatabaseLevel|Ausführungsrecht für den Benutzer auf Datenbank-Ebene. Mögliche Werte :\\ - "NULL" : es ist nichts (explizit) konfiguriert\\ - "0" : explizites Ausführungsverbot\\ - "1" : explizites Ausführungsrecht\\ |tinyint|5.0.0 | | ||
+ | |GroupExecRightOnDatabaseLevel|Ausführungsrecht (auf Datenbank-Ebene) für die Gruppe, der der Benutzer angehört (mögliche Werte : s. "UserExecRightOnDatabaseLevel")\\ |tinyint|5.0.0 | | ||
+ | |PublicExecRightOnDatabaseLevel|Ausführungsrecht (auf Datenbank-Ebene) für die "public"-Gruppe (mögliche Werte : s. "UserExecRightOnDatabaseLevel")\\ |tinyint|5.0.0 | | ||
+ | |ProcedureID|ID der Prozedur aus "RegisteredProcedures". Falls "NULL" ausgegeben wird, bedeutet dies, daß auf "dStore"-Ebene keine Rechte-Überprüfung stattfindet (entweder weil es keine "Ad"-Prozedur ist oder es sich beim "UserName" um den "Super-Admin" handelt).\\ |smallint|5.0.0 | | ||
+ | |UserExecRightOndStoreLevel|Ausführungsrecht im "dStore" für den Benutzer "UserID". Mögliche Werte :\\ - "NULL" : es ist nichts (explizit) konfiguriert\\ - "0" : explizites Ausführungsverbot\\ - "1" : explizites Ausführungsrecht\\ |tinyint|5.0.0 | | ||
+ | |GroupExecRightOndStoreLevel|Gibt an, ob mindestens eine Gruppe existiert, in die der "dStore"-Benutzer "UserID" eingeordnet ist, für die das Recht, die Prozedur direkt ausführen zu können, konfiguriert ist ("1") oder nicht ("0")\\ |bit|5.0.0 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * ProcedureName (aufsteigend) | ||
+ | * UserName (aufsteigend) | ||
+ | |||
+ | ==== Output-Parameter ==== | ||
+ | |||
+ | Die Prozedur hat keine Output-Parameter.==== Mögliche Return-Codes ==== | ||
+ | |||
+ | ^Code ^Beschreibung ^Quelle ((direkt meint "von der Prozedur selber" und indirekt meint "von intern aufgerufenen Unterprozeduren")) ^ | ||
+ | |-570|Nur der Super-Admin darf diese Prozedur (mit diesen Parametern) ausführen|nur direkt| | ||
+ | |-569|Der Benutzer hat kein Ausführungsrecht für die Prozedur|nur indirekt| | ||
+ | |-567|Die Prozedur darf z. Zt. nicht ausgeführt werden|nur indirekt| | ||
+ | |-566|Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden|nur indirekt| | ||
+ | |-535|Das Datum liegt nicht in der Vergangenheit|nur indirekt| | ||
+ | |-530|Der Wert ist nicht konvertierbar|nur indirekt| | ||
+ | |-510|Der Benutzer ist nicht registriert|nur indirekt| | ||
+ | |-504|Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen|nur indirekt| | ||
+ | |-502|Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)|nur indirekt| | ||
+ | |-500|Falsche Parameter|direkt und indirekt| | ||
+ | ==== XML-Schema ==== | ||
+ | |||
+ | Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema [[http://resources.dstore.de/xsd/webservice_SmartGate/Response/EngineProcedure_v1_0.xsd|Response/EngineProcedure_v1_0.xsd]] validiert. | ||
+ | ==== Historie ==== | ||
+ | |||
+ | |7.0.7 |2015-01-29|1. Interne Änderung : Datentyp-Erweiterung des "ReferenceKey" [für "_mi_StartProcedure"-Aufruf]\\ 2. Besonderheit beachtet, daß Prozedur "_mi_GetLogicalReads" nicht "dbo" sondern "sa" gehört\\ | | ||
+ | |6.5.3 |2013-03-18|Anpassungen an den aktuellen Quellcode-Standard, u.a. wg. UTF8-Unterstützung\\ | | ||
+ | |5.0.0 |2004-12-21|1. Berücksichtigung der Tabellen "ProcedureExecRightsForUsers", "ProcedureExecRightsForGroups"\\ 2. Neue Rückgabespalten "ProcedureID", "...ExecRightOnDatabaseLevel", "...ExecRightOndStoreLevel"\\ 3. Performance-Verbesserung\\ 4. Fehler bzgl. Return-Code\\ | | ||
+ | |4.0.14 |2004-06-03|1. Aufruf der Prozeduren "_mi_StartProcedure", "_mi_FinishProcedure" und "_mi_ChooseParamValueSeperator" \\ 2. Ausführen von "set transaction isolation level 1" und "set rowcount 0" zu Beginn der Prozedur\\ 3. Konsequente Fehlerbehandlung\\ | | ||
+ | |4.0.1 |2003-05-16|1. "set forceplan" an einigen Stellen eingesetzt\\ 2. Fehlende Index-Angaben in einigen Fällen\\ | | ||
+ | |4.0.0 |2003-04-03|1. Einige Korrekturen bzgl. der internen Quellcode-Doku\\ 2. Änderung des Klartextes für den Return-Code "-570"\\ 3. Rückgabespalte "UserName" fehlte in der Doku, außerdem sollte nach dieser sortiert werden !\\ | | ||
+ | |3.5.20 |2002-07-22|\\ | | ||
+ | |3.5.16 |2002-04-25|\\ | | ||
+ | |3.5.5 |2001-03-30|\\ | | ||
+ | |3.5.4 |2001-03-11|\\ | | ||
+ | |3.5.2 |2001-01-28|\\ | | ||
+ | |3.5.0 |2000-11-23|Erstmalig in dieser Version erstellt\\ | | ||
+ | |||
+ | ==== Code-Snippets ==== | ||
+ | |||
+ | == Engine Playground == | ||
+ | Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist: | ||
+ | * [[http://playground.dstore.de/index.php?proc=mi_GetExecuteRights_Ad|mi_GetExecuteRights_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetExecuteRights_Ad'</code>Mit xmllint ((I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org)) formatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetExecuteRights_Ad' | xmllint --format -</code>== dStore_php == | ||
+ | <code php> | ||
+ | use dStore_php\WebService; | ||
+ | |||
+ | $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); | ||
+ | |||
+ | $request = new WebService\Requests\Engine\Procedure\Request( | ||
+ | new WebService\Requests\AccessData('default'), | ||
+ | 'mi_GetExecuteRights_Ad', | ||
+ | array( | ||
+ | // 'ProcedureName' => NULL, | ||
+ | // 'GetAdminProceduresForUserID' => NULL, | ||
+ | // 'ProcedureCategoryID' => NULL | ||
+ | ) | ||
+ | ); | ||
+ | |||
+ | $service->execute($request); | ||
+ | |||
+ | $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); | ||
+ | $ResultSet = $xml_result->getRowsAsArray(); | ||
+ | |||
+ | </code> | ||
+ | == engine/execute == | ||
+ | XML zur Ausführung mit der Methode [[:webservice:engine:execute|engine/execute]], z.B. per | ||
+ | curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>' | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <ListOfBatches> | ||
+ | <Batch No="0"> | ||
+ | <Procedure Name="mi_GetExecuteRights_Ad"> | ||
+ | <Parameters> | ||
+ | <!-- <Parameter Name="ProcedureName">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="GetAdminProceduresForUserID">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="ProcedureCategoryID">NULL</Parameter> --> | ||
+ | </Parameters> | ||
+ | </Procedure> | ||
+ | </Batch> | ||
+ | </ListOfBatches></code> | ||