I'm trying to create a modular admin capability on my website, and I had a couple of questions about making it easy to look up who has admin rights to a particular page (I want it so that I can change admin rights to specific portions of the website, so as to not give any one person too much control).
I originally thought about whitelists, but decided it would get pretty ugly to handle, so I started thinking about building an SQL table that holds the member ID number and the pages that they have administrative control over (and perhaps to what extent they have admin rights on that page).
In order to accomplish this i was thinking of 3 columns, first with the ID, second with the pages separated by commas, and third as a byte with flagged bits for specific admin capabilities. When a user is logged in, it would store the information in a session for which pages they have admin rights of for 'quick access' so that certain things appear on the page (such as creating new news, modifying posts, deleting posts, etc...)
Is this a viable/efficient way of doing this? Are there standards for how giving and checking admin rights is conducted?
[EDIT] I was looking, and I am thinking that doing a check/lookup for every action is preobably better than holding the information in a session, but is the rest of the premise sound?