Comunidad de diseño web y desarrollo en internet online

Intranet: Duda con los permisos de usuarios

Citar            
MensajeEscrito el 01 May 2015 08:01 pm
Hola con todos. Estoy empezando a crear una Intranet en PHP y MySQL, pero tengo una duda que no me deja seguir adelante: se trata de la creación de usuarios y los permisos que éstos tengan en la Web.

La PC servidor tendrá el CentOS como SO (Apache y MySQL, como les mencioné). Es una web pequeña (casi un piloto) así que usaré plantillas de bootstrap para el diseño.

El tema es al definir los usuarios y sus permisos. En principio sólo habrá dos niveles:

- Usuario (común)
- Administrador (todos los permisos).

Éstos se corresponden con un campo Nivel (bit) en la tabla Usuario.

Lo que no sé es cuál es la manera idónea para restringir el acceso de los usuarios a las páginas del sistema.

Pienso en el principio de obtener el Nivel del usuario al momento del login, y a partir de ahí redireccionarlo a otra página según su nivel, que muestre acceso sólo a lás páginas PHP que "le corresponde" usar... Cada archivo PHP debería verificar en la cabecera el nivel de quien se logueó, para que nadie con nivel "usuario" acceda a formularios de un "Admin" por ejemplo.

Quería preguntarles qué esquema o principio me conviene seguir, porque ése que tengo en mente no me convence para nada...

— ¿Podría trabajar lo de los usuarios a nivel de administración de base de datos? O sea que según el login, el user utilice la BD como root o como algún otro usuario creado a este efecto... Ya los privilegios los trabajaría en MySQL con permisos sobre cada tabla.

— ¿Y trabajándolo a nivel de tablas? He visto por ahí que crean los permisos en tablas de la BD, y en éstas guardan los nombres de las páginas que cada usuario podrá ver según su nivel.

Espero que me puedan indicar una forma general de trabajo, la más acostumbrada o ideal en estos casos. El hecho es que posteriormente trabajaré una Intranet mucho más grande, con decenas de usuarios y tablas con millones de registros, así que me gustaría saber por su experiencia cuál es la solución más idónea para éste y futuros problemas.

Muchas gracias a todos.

Por Antonio_1987

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 May 2015 12:13 pm
¿Por qué no te convence?. De todas formas, en algún momento vas a tener que preguntar por el nivel y si ese nivel tiene permiso de ver o no ver el contenido que estás a punto de mostrar. De eso no te vas a salvar de ninguna manera porque aunque hagas un sitio completamente diferente para cada nivel, tendrás el problema de los usuarios que antes eran administradores y ahora son usuarios van a saber que hay otras páginas para los administradores.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.