I am supposed to create an inside web based APEX application for students working at Oracle. The login is managed via Single-Sign-On. Also, I need to have two user roles, Student and Administrator, each of them with different privileges and different pages they can see. There seems to be no obvious way to do this.
I was thinking about somehow extracting the username from e-mail used in SSO, linking it with the database of "People" and having a column there that defines the user role. Then it would be stored somewhere and will determine the rights the person has. It seems messy though and I am quite new to APEX - I guess there is a better way to do this.
I know this can be done directly in APEX itself, but it would be much better to get this working in the app.
Oracle APEX has the option to use Oracle SSO for logging in, it only requires some digging until you find it (authorization schemes).
After that I was using this select statement to determine the user role:
SELECT ROLE FROM PEOPLE
WHERE E_MAIL = V('APP_USER')
Much easier that I expected it to be.