Como llevar el control de los usuarios en un sistema

Edgar San
22 de Agosto del 2011
Que tal amigos, miren estoy desarrollando un sistema escolar donde tengo dos clases de usuarios el profesor y el administrador del sistema....
La cuestion es que no sé como administrar mis nuevos usuarios que el sistema desarrollado en Java dará de alta al registrar nuevos profesores. No sé como llevar el control de estos nuevos usuarios...

Tengo algunas ideas...

- Que el sistema ejecute las sentencias SQL CREATE USER y GRANT (crear el usuario y otorgar privilegios) pero me he encontrado por ahí que los usuarios se deben guardar en una tabla de usuarios y la verdad no sé porque lo hacen, por lo cuál hecho a volar mi imaginación y supongo de la siguiente manera:

- Crear solo dos tipos de usuario el dueño del esquema (administrador) y el usuario de profesor. Cuando un usuario se dé de alta lo registra en la tabla de usuarios y cuando el usuario se quiera loguear el sistema compara su ID y su CONTRASEÑA, si los datos son correctos el sistema le permite el acceso desbloqueando los menús del sistema que corresponden a su tipo de usuario. Pero aquí me surgen otras preguntas como las siguientes:

> Con que usuario el sistema realizara la consulta a la tabla de usuarios si éste apenas esta intentando loguearse.
> Como cambiar de usuario una vez que se haya logueado. Un ejemplo, supongamos que se crea un usuario únicamente para que pueda realizar una consulta a la tabla de usuarios, y éste es el que el sistema va a ocupar para tratar de loguear a los usuarios a la BD, entonces una vez que se hayan logueado como cambiar este usuario a 'profesor' ó 'administrador' según los datos que se hayan ingresado.

De antemano muchisimas gracias! :)