2010-12-11 5 views
7

Mi Inmueblesvip aplicaciones PHP han siguientes grupos de usuarios,de aplicación de ACL para mi aplicación PHP

Administradores, Moderadores Agentes

i desea especificar siguiente permiso a los siguientes usuarios.

Administradores ->

  • puede crear Moderadores,
  • pueden crear agentes,
  • puede insertar propiedades,
  • puede actualizar las propiedades,
  • puede borrar Propiedades

Por lo tanto, un administrador tendrá todos los privilegios, en resumen, un administrador aquí será superAdmin

Quiero asignar privilegios limitados al moderador y, por lo tanto, a los agentes.

Estoy confundido sobre cómo crear una base de datos para esto y también sobre cómo implementarlo en mi aplicación PHP.

agradecimiento

Respuesta

11

Suena como que se va a necesitar un sistema de control de acceso basado en roles. Desarrollar uno no es realmente una tarea trivial, por lo que como ya se sugirió, encontrar un marco de trabajo o una clase prefabricada que haga el trabajo sería un valor desde el inicio.

Role Based Access Control

http://www.tonymarston.net/php-mysql/role-based-access-control.html

http://www.sqlrecipes.com/database_design/fine_grained_role_based_access_control_rbac_system-3/

http://www.sitepoint.com/forums/showthread.php?threadid=162027

Usted debe crear una tabla RCEst tiene que definir todo tipo de papel.

y una tabla para los usuarios

relacionan diferentes roles a los diferentes usuario a través de la vinculación de dos tablas. y algo así ...

+0

Usa framework como cakephp o zend. tienen bibliotecas de componentes incorporados para ACL y también son fáciles de aprender –

0

La forma en que yo he hecho esto en el pasado era crear una tabla de usuarios en la base de datos que tenía un nivel de acceso (Administrador, Moderador, y agentes).

Luego, si tiene un sistema de menús, implemente una comprobación para ver qué privilegios se necesitan para qué enlaces ... Los administradores verán todos los enlaces, el moderador solo verá los enlaces que se supone que deben hacer, y los agentes solo verán lo que se supone que deben ver.

También en las páginas que desee restringir a los usuarios, querrá verificar el nivel de acceso de los usuarios. Si pasan, verán la página; de lo contrario, se redirigirán o se necesitará un error de javascript.

Algo como el nivel de acceso puede serle útil para almacenarlo en una cookie, ya que puede reducir sus llamadas a su base de datos.

Espero que esto ayude, Mike

+3

... ¿te refieres a una cookie, que podrían modificar arbitrariamente para aumentar su nivel de acceso? – mpen

+0

Las cookies verdaderas son un poco inseguras; sin embargo, puede verificarlas verificando la base de datos. La mayoría de las aplicaciones que tuve que construir eran para empleados internos y no había nada que ganar aparte de ver otras páginas. Sin mencionar que todo se registró, por lo que incluso si omitió algunos cheques, se registraría el hit de su página. Me alegra que haya ayudado. Espero seguir ayudando en este foro. – Psycorpse

Cuestiones relacionadas