Are you sure about your design and what you want to develop???
why i am saying this because We create backend user and assign them certain rights to make sure that he should get only what he has been assigned to.
so if you dont give select right on one table user might not be able to select, even if he presses the button. this approch is more secure in a way that even if somehow he is managed to login to your database he can manipulate things according to his roles. but its also most limited becuase you loose control and interface in front end.
I would sincerely suggest you to manage the roles in your front end, have a user master, have table having his rights over the program and just show him what he is assigned to.
Best Luck..
Nilesh