RE:ASIGNAR PERMISOS A USUARIOS
Por ejemplo, puedes hacer una tabla donde tus registros sean los usuarios y tus columnas o campos sean los diferentes módulos o pantallas de tu Sistema, el tipo de variable puede ser booleano, string o numérico...
Cada vez que se agrege un usuario inserta un nuevo registro a esta tabla, inicializa los valores con "0" y si quieres darle permiso para que entre a un módulo ponle un "1".
Tabla PERMISOS
Usuario Pantalla1 Pantalla2 Pantalla3
nombre1 0 0 1
nombre2 1 1 0
Por ejemplo supon que "nombre1" quiere entrar a "Pantalla2", antes de mostar el módulo busca a "nombre1" en la tabla PERMISOS, si lo encuentras, averigua su valor de "Pantalla2", si es 0 pon un mensaje de que no tiene permiso, si es "1" déjalo entrar...
Espero le hayas entendido a este simple ejemplo... Suerte