Hogyan kell helyesen konfigurálni lapozott engedély oracle csúcsa
Amikor a fejlődő alkalmazások az APEX gyakran kell különböző szintű hozzáférést a felhasználók számára - például, ha a használt alkalmazás, a felhasználók a különböző részlegek, vagy ha azt szeretné, hogy jelentéseket hozhat létre, hogy a témához csak rendszergazdák.
Hitelesítés túlmutat ezt a cikket, de azt hiszem, ez már jó dolog.
Vegyük például egy alkalmazás, amelyben van két jelentést - Admin Report és a Felhasználó jelentése és polzovateli- ADMIN, USER1 és USER2.
Meg kell győződni arról, hogy ADMIN látható az összes oldalt, de nem látni user'y Admin Report.
1. meghatározása példakép
A kezdéshez meg kell dönteni, mint egy példakép fog kinézni: kis alkalmazásokat érdemes meghatározni a rendelkezésre álló oldalak közvetlenül minden felhasználó számára, de ha sok oldalt vagy a felhasználók az alkalmazás, mert sokkal kényelmesebb, hogy vezessenek be a szerepét, és két köteg „felhasználó -> szerep” és „szerepét -> oldal”, amelyet az egyes felhasználói szerepkörök és minden szerepet, konfigurálja a hozzáférést bizonyos oldalak.
Mi megy a második út, ahogy azt várjuk, hogy annak következményeként, hogy a felhasználók száma nő.
Bemutatjuk a két szerep rendszergazdák és felhasználók, valamint hozzon létre egy táblázatot USER_ROLE
és asztali ROLE_PAGE
Mint látható, a szerepe ismeretlen felhasználó hozzáférést 2. oldal.
Az oldalszámok megtalálható az Application Builder APEX APEX vagy képviseletet az adatbázisban:
select *
származó APEX_APPLICATION_PAGES
ahol alkalmazásazonosító = <номер вашего приложения>
Most levelet funkciója, amely a bemeneti felhasználói nevet és a jelentkezési oldalon visszatér egy logikai érték, hogy van-e a hozzáférést egy adott felhasználó egy adott oldalt.
Most meg kell választani, hogy hozzon létre egy rendszert az alkalmazás számára. Ehhez menj a közös alkatrészek -> User Interface attribútumok (User Interface Unit). A Biztonság részben -> engedély dönt, hogy hozzon létre egy rendszert, és kattintson az „Apply Changes”.
Most, amikor megpróbál USER1 és USER2 lásd Admin Report látni fogják az alábbiakat:
4. Állítsa a navigációs menü (Navigációs menü)
Akkor hagyja, és egy ilyen megvalósítás, de jobb, hogy elrejtse a felhasználó az oldalak menü, amely még mindig nem tud menni.
Annak érdekében, hogy a felhasználók, hogy a navigációs menü, attól függően, hogy a hozzáférési szintjét meg kell mozgatni a statikus navigációs menü alapértelmezés szerint dinamikus.
Az ötlet az, hogy egy statikus menüpontok (általában az úgynevezett "Desktop Navigációs menü), hogy mely oldalakat kapcsolódik annak tárgyakat, és használja a létrehozott példakép, azt mutatják, a felhasználó csak a bejegyzések, amelyek kapcsolatban állnak az oldalak elérhető vele.
Az általunk használt APEX képviselet (részletek) APEX_APPLICATION_LIST_ENTRIES, amelyben van olyan információ, amely oldalakat csatolnak milyen tárgyakat a navigációt. Ha nem támogatja, külön asztalnál egy másik kommunikációs szerep -> navigációs tárgy, prezentációt létrehozni, amely összeköti a szerepe és Listabejegyzések alapján kommunikációs szerepet -> Oldal:
SET DEFINE OFF;
CREATE OR CSERE EDITIONABLE VIEW ROLE_LIST_ENTRY ( "USER_ROLE". "LIST_ENTRY_ID") AS
válasszuk külön p.user_role, l.list_entry_id
a apex_application_list_entries l
csatlakozzon role_page ap l.entry_target like'f? p = APP_ID.: „|| p.page_id || ':% SESSION%' vagy entry_target nulla
ahol l.list_name = „Asztal navigációs menü”
és l.application_id = <номер вашего приложения> ;
Ha mégis válasszon a létrehozott bemutatót, akkor láthatjuk, hogy a szerepe a ADMIN álló 3 listabejegyzést és USER - csak 2:
Itt az ideje, hogy egy dinamikus navigációs menü. Ehhez Shared Components -> Navigációs menü hozzon létre egy új menü: válasszon „A semmiből”, és dinamikus, amely megjelent az SQL lekérdezés ablak be az alábbiak szerint:
válasszuk szinten. al.entry_text címkét. al.entry_target
a apex_application_list_entries al
csatlakozzon ROLE_LIST_ENTRY rl szóló al.list_entry_id = rl.list_entry_id
csatlakozzon USER_ROLE ur ur.user_role = rl.user_role és a felső (ur.user_name) = felső (: APP_USER)
al.LIST_NAME = „Asztal navigációs menü”
és al.application_id = <номер вашего приложения>
kezdeni al.list_entry_parent_id null
csatlakoztassa előzetes al.list_entry_id = al.list_entry_parent_id
érdekében testvérek által al.display_sequence
Most ki kell választania a dinamikus navigáció Étlapunkon felület. Ehhez ismét megy a Shared Components -> User Interface attribútumokat. A felhasználói felület, kattintson a Szerkesztés ikonra az aktuális felület, és bejutni a felhasználói felület Részletek. Navigációs menü lapon válassza ki a menüt teremtett minket, és kattintson az „Apply Changes”
A USER1 és USER2 amikor belép az alkalmazás nem lesz látható a navigációs menü Audit Jelentés:
További cikkek a témában APEX:
Belép social network