La teoría es fácil, pero la práctica, más que dificil es tediosa de hacer.
En primer lugar debes crearte una tabla de usuarios, en ella especificarás el nombre del usuario y su contraseña. Puedes agregar campos adicionales como el nombre completo, departamento, etc... valores que sirvan para personalizar la pantalla.
Cuando accedan a la aplicación debes preguntar el nombre y la contraseña, buscarlo en la tabla y si es correcto permitir la entrada, en caso contrario, que lo intenten otra vez.
Hasta aquí es fácil. Lo complejo es personalizar los menús, es decir, permitir que tengan acceso a unos menús y a otros no. Para ello podrías crearte una tabla de permisos, en el que indiques un identificador y el nombre de la opción de menú, y otra de permisos de usuarios, en el que indique el nombre del usuario y el identificador de los permisos (opciones de menú) a los que tiene acceso.
A partir de esta base puedes ir complicando el tema, como permitir solo lectura, lectura escritura etc...
Solo es una pincelada por encima, pero creo que puede darte una idea de como hacerlo
Salu2