Autorisierung und Benutzer-Rollen in Oracle Apex?
Also Apex hat "workspaces", mit denen Sie Benutzer erstellen, von drei Typen, die interne Organisation in der Natur. Es scheint auch keine Möglichkeit für einen Entwickler, der eine individuelle Website auf der Spitze zu haben "Benutzer" nur für seine Website.
Bin ich etwas fehlt?
Ich muss in der Lage sein, externe (Geschäfts -) Benutzer in der Lage sein, um Zugriff zu erhalten, um nur einige der features der Website, zum Beispiel, die Buchhaltung können nur sehen, wie die Seiten A und B, während die Führungskräfte sehen Ein,B, und C.
Brauche ich, um die Fähigkeit zu haben, mehrere Gruppen von Menschen mit Unterschied Grad Zugang.
Kann dies nur geschehen durch die Schaffung von Arbeitsbereichen/Gruppen? Oder kann man intern nur auf meine Website?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl APEX hat ein eingebautes user-management-Konzept namens "Gruppen" ich muss gestehen, ich habe es nie benutzt, und eine schnelle Durchsicht der Dokumentation nicht klar machen, um mich, wie Sie diese zur Kontrolle des Zugangs (siehe aber Tom ' s Antwort hier für, die).
Werden Sie wahrscheinlich benötigen, erstellen Benutzer - /Rollen-Tabellen innerhalb Ihrer Datenbank, und verwenden Sie diese in Verbindung mit APEX Genehmigung von Regelungen zur Steuerung des Zugriffs auf Seiten. Eine einzelne Autorisierung Schema der Typ "PL/SQL-Funktion die Rückgabe Boolean" erzeugt werden konnte, mit der Funktion Körper:
Würden Sie dann umzusetzen, das Paket zu suchen, bis die Berechtigungen des Benutzers und entscheiden, ob Sie TRUE oder FALSE zurückgeben, die für die Anwendung und die Seiten-id.
Alternativ können Sie nur ausführen, die SQL zu überprüfen, für die der Zugang direkt in der Autorisierungs-Schema:
(NB "user_roles" und "role_pages" sind Namen, die ich machte, zu repräsentieren Ihre Tabellen)
Ich wünschte nur, zu erweitern Tony ' s Antwort, die an und für sich korrekt ist. Ich will einfach nur, um zu zeigen Sie eine andere Möglichkeit, die ich denke, wäre einfacher, auf ein total Anfänger und lässt die Erstellung von Tabellen.
Falls Ihre Anwendung den Apex als Authentifizierungsschema, dann sind Ihre Benutzer verwaltet durch die administration der workspace selbst. Sie können erstellen, Bearbeiten und löschen von Benutzern, aber Sie können auch Gruppen zu definieren, und verknüpfen Sie die Benutzer den Gruppen zu. Ist es möglich für Sie zu erstellen, die mehrere "end-Benutzer" Benutzer, und definieren ein paar von Gruppen, wie "Führungskräfte".
Wenn Sie erstellt haben, Ihre Gruppe, gehen Sie auf den Benutzer, den Sie zuordnen möchten, und diese Gruppe zu, und fügen Sie die Gruppe zu den Gruppen des Benutzers
Haben Sie erst einmal eingerichtet, müssen Sie noch die autorisierungsschemas. Die Tatsache bleibt, benötigen Sie einige pl/sql-Kenntnisse hier, aber ist es möglich, die Codierung auf ein minimum, Dank einigen praktischen api-Arbeit.
Die current_user_in_group tut, was es sagt: es prüft, ob der aktuelle Benutzer, wenn er gesagt hat, eine Gruppe zugewiesen. Mit einigen Erweiterung mit einigen einfachen IF-Strukturen, Sie treiben es ein bisschen!
Nicht, dass ich völlig empfehlen diese Methode, finde ich es etwas mühsam mich, und Sie brauchen jemanden, zu gehen, in den APEX der eigentlich der Pflege von Benutzern und deren Gruppen, aber es könnte gut sein, dass dies akzeptabel in Ihrer Umgebung. Sie können es verwenden, um zu starten, die jedoch mit. Sie können sehr leicht wechseln authentication schemes, und mit verändern Sie Ihre Autorisierungs-Systeme, so dass Sie erfüllen mit der neuen auth-Schema können Sie einfach und schnell anpassen und diesem danach. Es hängt von Ihren Prioritäten und Zielen und natürlich.
return apex_util.current_user_in_group(p_group_name=>'Executives');
Autorisierung ist ein Prozess der Bestimmung, ob ein authentifizierter/person ist erlaubt, den Zugriff auf eine Ressource oder eine operation. Es basiert auf dem Satz von Privilegien oder Rollen dem Benutzer zugewiesen. Zum Beispiel, In der Oracle-Datenbank, die Administrator-Berechtigung, um Aufträge zu planen, während ein Benutzer kann nicht.
Wie ist die Berechtigung unterscheidet sich von Authentifizierung?
Oft Authentifizierung und Autorisierung zusammen zu arbeiten. In anderen Worten, Autorisierung die Authentifizierung anschließt.
Authentifizierung legt fest, Wer bist du?
Autorisierung bestimmt, Was Sie tun dürfen?