[eluser]CodeSpeed[/eluser]
Thanks for the replies, votes, hints and ideas guys!
Here's the strategy I've started implementing based on your recommendations:
1 - The user is presented with a login screen
2 - The user logs in
-- 2.a - if the user/password combination is wrong, return to login screen and say "Wrong user/pass!"
-- 2.b - if the user/pass combo is right but he has NO permissions, return to login screen and say "Sorry! Nobody loves you!"
-- 2.c - if the user/pass combo is right and he has at least one permission, store user info and his permissions using an array in the session var "user_credentials" and redirect to "dashboard"
3 - Once in the dashboard, the modules menu gets built on-the-fly based on the "user_credentials" session vars array. If the user is NOT entitled to use a module, the module is not listed in the menu.
Wish me luck!
PS - This CI thing is so cool! I've been coding this for a few hours and I'm done with "step 2"!!!