Picon

Libro sobre ACLs

Muy buenas,

Tengo una pequeña duda de concepto que me gustaría darle una solución elegante.

El escenario es el siguiente:

- Una aplicación con unos 200 usuarios.
- Los usuarios pertenecen a grupos.
- Los grupos tienen Roles.
- Existen tres roles principales: Usuario, Coordinador y Administrador.

Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.

La idea es que el usuario Administrador pueda crear "localidades" a través de un formulario escribiendo los datos necesarios (denominación, fotografía, población, etc).
Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.
Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y también deberían tener permisos para modificar.
Todos los usuarios pueden ver el listado de localidades (index) y las características de cada una ellas (show), pero no poder editarlas.
Solo puede borrar localidades el Administrador.

Todos los recursos funcionan de forma similar.

Por ejemplo, las actividades las crea cada usuario.
Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.
El coordinador de zona también puede modificar las actividades de sus zonas, pero no borrarlas, etc.


Espero que se entienda.

Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi solución para el problema no es muy elegante:

En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).


Y después de este rollo...


Me gustaría conocer alguna forma elegante de implementar esto. Algún libro que pueda comprar, alguna web (no tiene porqué ser de Rails), incluso algún plugin que implemente esto o algún proyecto similar de GitHub que pueda ver su funcionamiento.

Eso es todo.

Muchas gracias por llegar hasta aquí leyendo....







Luis Miguel Cabezas Granado
Ingeniero Técnico Informática de Sistemas

<div>
<div>Muy buenas,</div>
<div><br></div>
<div>Tengo una peque&ntilde;a duda de concepto que me gustar&iacute;a darle una soluci&oacute;n elegante.</div>
<div><br></div>
<div>El escenario es el siguiente:</div>
<div><br></div>
<div>- Una aplicaci&oacute;n con unos 200 usuarios.</div>
<div>- Los usuarios pertenecen a grupos.</div>
<div>- Los grupos tienen Roles.</div>
<div>- Existen tres roles principales: Usuario, Coordinador y Administrador.</div>
<div><br></div>
<div>Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.</div>
<div><br></div>
<div>La idea es que el usuario Administrador pueda crear "localidades" a trav&eacute;s de un formulario escribiendo los datos necesarios (denominaci&oacute;n, fotograf&iacute;a, poblaci&oacute;n, etc).</div>
<div>Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.</div>
<div>Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y tambi&eacute;n deber&iacute;an tener permisos para modificar.</div>
<div>Todos los usuarios pueden ver el listado de localidades (index) y las caracter&iacute;sticas de cada una ellas (show), pero no poder editarlas.</div>
<div>Solo puede borrar localidades el Administrador.</div>
<div><br></div>
<div>Todos los recursos funcionan de forma similar.</div>
<div><br></div>
<div>Por ejemplo, las actividades las crea cada usuario.</div>
<div>Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.</div>
<div>El coordinador de zona tambi&eacute;n puede modificar las actividades de sus zonas, pero no borrarlas, etc.</div>
<div><br></div>
<div><br></div>
<div>Espero que se entienda.</div>
<div><br></div>
<div>Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi soluci&oacute;n para el problema no es muy elegante:</div>
<div><br></div>
<div>En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).</div>
<div><br></div>
<div><br></div>
<div>Y despu&eacute;s de este rollo...</div>
<div><br></div>
<div><br></div>
<div>Me gustar&iacute;a conocer alguna forma elegante de implementar esto. Alg&uacute;n libro que pueda comprar, alguna web (no tiene porqu&eacute; ser de Rails), incluso alg&uacute;n plugin que implemente esto o alg&uacute;n proyecto similar de GitHub que pueda ver su funcionamiento.</div>
<div><br></div>
<div>Eso es todo.</div>
<div><br></div>
<div>Muchas gracias por llegar hasta aqu&iacute; leyendo....</div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<br><div>
<span class="Apple-style-span"><div><div>
<div>Luis Miguel Cabezas Granado</div>
<div>Ingeniero T&eacute;cnico Inform&aacute;tica de Sistemas</div>
<div><a href="http://www.magolope.com/">http://www.magolope.com/</a></div>
<div><a href="http://ninjaphp.wordpress.com/">http://ninjaphp.wordpress.com/</a></div>
</div></div></span>
</div>

<br>
</div>
Raul Sánchez | 9 Feb 17:34 2012
Picon

Re: Libro sobre ACLs

Has probado cancan o cantango? A primera vista creo q seria mucho mas sencillo con esos plugins

Saludos


Enviado de Samsung Mobile



-------- Original message --------
Subject: [Ror-es] Libro sobre ACLs
From: Luis Miguel Cabezas Granado <luismiguel.cabezas <at> gmail.com>
To: "La lista sobre Ruby On Rails (rubyonrails.com) en castellano" <ror-es <at> lists.simplelogica.net>
CC:


Muy buenas,

Tengo una pequeña duda de concepto que me gustaría darle una solución elegante.

El escenario es el siguiente:

- Una aplicación con unos 200 usuarios.
- Los usuarios pertenecen a grupos.
- Los grupos tienen Roles.
- Existen tres roles principales: Usuario, Coordinador y Administrador.

Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.

La idea es que el usuario Administrador pueda crear "localidades" a través de un formulario escribiendo los datos necesarios (denominación, fotografía, población, etc).
Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.
Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y también deberían tener permisos para modificar.
Todos los usuarios pueden ver el listado de localidades (index) y las características de cada una ellas (show), pero no poder editarlas.
Solo puede borrar localidades el Administrador.

Todos los recursos funcionan de forma similar.

Por ejemplo, las actividades las crea cada usuario.
Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.
El coordinador de zona también puede modificar las actividades de sus zonas, pero no borrarlas, etc.


Espero que se entienda.

Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi solución para el problema no es muy elegante:

En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).


Y después de este rollo...


Me gustaría conocer alguna forma elegante de implementar esto. Algún libro que pueda comprar, alguna web (no tiene porqué ser de Rails), incluso algún plugin que implemente esto o algún proyecto similar de GitHub que pueda ver su funcionamiento.

Eso es todo.

Muchas gracias por llegar hasta aquí leyendo....







Luis Miguel Cabezas Granado
Ingeniero Técnico Informática de Sistemas

<div>Has probado cancan o cantango? A primera vista creo q seria mucho mas sencillo con esos plugins<div><br></div>
<div>Saludos<br><br><br><span>Enviado de Samsung Mobile</span> </div>
<br><br><br>-------- Original message --------<br>Subject: [Ror-es] Libro sobre ACLs <br>From: Luis Miguel Cabezas Granado &lt;luismiguel.cabezas <at> gmail.com&gt; <br>To: "La lista sobre Ruby On Rails (rubyonrails.com) en castellano" &lt;ror-es <at> lists.simplelogica.net&gt; <br>CC:  <br><br><br><div>Muy buenas,</div>
<div><br></div>
<div>Tengo una peque&ntilde;a duda de concepto que me gustar&iacute;a darle una soluci&oacute;n elegante.</div>
<div><br></div>
<div>El escenario es el siguiente:</div>
<div><br></div>
<div>- Una aplicaci&oacute;n con unos 200 usuarios.</div>
<div>- Los usuarios pertenecen a grupos.</div>
<div>- Los grupos tienen Roles.</div>
<div>- Existen tres roles principales: Usuario, Coordinador y Administrador.</div>
<div><br></div>
<div>Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.</div>
<div><br></div>
<div>La idea es que el usuario Administrador pueda crear "localidades" a trav&eacute;s de un formulario escribiendo los datos necesarios (denominaci&oacute;n, fotograf&iacute;a, poblaci&oacute;n, etc).</div>
<div>Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.</div>
<div>Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y tambi&eacute;n deber&iacute;an tener permisos para modificar.</div>
<div>Todos los usuarios pueden ver el listado de localidades (index) y las caracter&iacute;sticas de cada una ellas (show), pero no poder editarlas.</div>
<div>Solo puede borrar localidades el Administrador.</div>
<div><br></div>
<div>Todos los recursos funcionan de forma similar.</div>
<div><br></div>
<div>Por ejemplo, las actividades las crea cada usuario.</div>
<div>Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.</div>
<div>El coordinador de zona tambi&eacute;n puede modificar las actividades de sus zonas, pero no borrarlas, etc.</div>
<div><br></div>
<div><br></div>
<div>Espero que se entienda.</div>
<div><br></div>
<div>Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi soluci&oacute;n para el problema no es muy elegante:</div>
<div><br></div>
<div>En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).</div>
<div><br></div>
<div><br></div>
<div>Y despu&eacute;s de este rollo...</div>
<div><br></div>
<div><br></div>
<div>Me gustar&iacute;a conocer alguna forma elegante de implementar esto. Alg&uacute;n libro que pueda comprar, alguna web (no tiene porqu&eacute; ser de Rails), incluso alg&uacute;n plugin que implemente esto o alg&uacute;n proyecto similar de GitHub que pueda ver su funcionamiento.</div>
<div><br></div>
<div>Eso es todo.</div>
<div><br></div>
<div>Muchas gracias por llegar hasta aqu&iacute; leyendo....</div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<br><div>
<span class="Apple-style-span"><div><div>
<div>Luis Miguel Cabezas Granado</div>
<div>Ingeniero T&eacute;cnico Inform&aacute;tica de Sistemas</div>
<div><a href="http://www.magolope.com/">http://www.magolope.com/</a></div>
<div><a href="http://ninjaphp.wordpress.com/">http://ninjaphp.wordpress.com/</a></div>
</div></div></span>
</div>

<br>
</div>
Roberto Oliva | 9 Feb 18:03 2012
Picon

Re: Libro sobre ACLs

Hola


También voto por cancan (https://github.com/ryanb/cancan) aunque tienes tambien: https://github.com/stffn/declarative_authorization que tiene muy biena pinta.

Un saludo
Roberto M. Oliva

El 9 de febrero de 2012 17:34, Raul Sánchez <raul-mweRjIXS2Z8@public.gmane.org> escribió:
Has probado cancan o cantango? A primera vista creo q seria mucho mas sencillo con esos plugins

Saludos


Enviado de Samsung Mobile



-------- Original message --------
Subject: [Ror-es] Libro sobre ACLs
From: Luis Miguel Cabezas Granado <luismiguel.cabezas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "La lista sobre Ruby On Rails (rubyonrails.com) en castellano" <ror-es-cR8azDVoa3J6chROh9BUNw@public.gmane.orgogica.net>
CC:


Muy buenas,

Tengo una pequeña duda de concepto que me gustaría darle una solución elegante.

El escenario es el siguiente:

- Una aplicación con unos 200 usuarios.
- Los usuarios pertenecen a grupos.
- Los grupos tienen Roles.
- Existen tres roles principales: Usuario, Coordinador y Administrador.

Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.

La idea es que el usuario Administrador pueda crear "localidades" a través de un formulario escribiendo los datos necesarios (denominación, fotografía, población, etc).
Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.
Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y también deberían tener permisos para modificar.
Todos los usuarios pueden ver el listado de localidades (index) y las características de cada una ellas (show), pero no poder editarlas.
Solo puede borrar localidades el Administrador.

Todos los recursos funcionan de forma similar.

Por ejemplo, las actividades las crea cada usuario.
Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.
El coordinador de zona también puede modificar las actividades de sus zonas, pero no borrarlas, etc.


Espero que se entienda.

Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi solución para el problema no es muy elegante:

En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).


Y después de este rollo...


Me gustaría conocer alguna forma elegante de implementar esto. Algún libro que pueda comprar, alguna web (no tiene porqué ser de Rails), incluso algún plugin que implemente esto o algún proyecto similar de GitHub que pueda ver su funcionamiento.

Eso es todo.

Muchas gracias por llegar hasta aquí leyendo....







Luis Miguel Cabezas Granado
Ingeniero Técnico Informática de Sistemas


_______________________________________________
Proudly free of Ruby Forum crossposting since 01/07/2009
Ror-es mailing list
Ror-es-cR8azDVoa3KGDVdjXOJXsPZyGwqD9iJb@public.gmane.orgnet
http://lists.simplelogica.net/mailman/listinfo/ror-es


<div>
<p>Hola</p>
<div><br></div>
<div>Tambi&eacute;n voto por cancan (<a href="https://github.com/ryanb/cancan">https://github.com/ryanb/cancan</a>) aunque tienes tambien:&nbsp;<a href="https://github.com/stffn/declarative_authorization">https://github.com/stffn/declarative_authorization</a>&nbsp;que tiene muy biena pinta.</div>
<div><br></div>
<div>Un saludo</div>
<div>Roberto M. Oliva</div>
<div>
<br><div class="gmail_quote">El 9 de febrero de 2012 17:34, Raul S&aacute;nchez <span dir="ltr">&lt;<a href="mailto:raul@...">raul@...</a>&gt;</span> escribi&oacute;:<br><blockquote class="gmail_quote">
<div>Has probado cancan o cantango? A primera vista creo q seria mucho mas sencillo con esos plugins<div><br></div>
<div>
Saludos<br><br><br><span>Enviado de Samsung Mobile</span> </div>
<div><div class="h5">
<br><br><br>-------- Original message --------<br>Subject: [Ror-es] Libro sobre ACLs <br>From: Luis Miguel Cabezas Granado &lt;<a href="mailto:luismiguel.cabezas@..." target="_blank">luismiguel.cabezas@...</a>&gt; <br>
To: "La lista sobre Ruby On Rails (<a href="http://rubyonrails.com" target="_blank">rubyonrails.com</a>) en castellano" &lt;<a href="mailto:ror-es@..." target="_blank">ror-es@...ogica.net</a>&gt; <br>
CC:  <br><br><br><div>Muy buenas,</div>
<div><br></div>
<div>Tengo una peque&ntilde;a duda de concepto que me gustar&iacute;a darle una soluci&oacute;n elegante.</div>
<div><br></div>
<div>El escenario es el siguiente:</div>
<div><br></div>
<div>- Una aplicaci&oacute;n con unos 200 usuarios.</div>
<div>- Los usuarios pertenecen a grupos.</div>
<div>- Los grupos tienen Roles.</div>
<div>- Existen tres roles principales: Usuario, Coordinador y Administrador.</div>
<div><br></div>
<div>Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.</div>
<div><br></div>
<div>La idea es que el usuario Administrador pueda crear "localidades" a trav&eacute;s de un formulario escribiendo los datos necesarios (denominaci&oacute;n, fotograf&iacute;a, poblaci&oacute;n, etc).</div>
<div>Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.</div>
<div>Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y tambi&eacute;n deber&iacute;an tener permisos para modificar.</div>
<div>Todos los usuarios pueden ver el listado de localidades (index) y las caracter&iacute;sticas de cada una ellas (show), pero no poder editarlas.</div>
<div>Solo puede borrar localidades el Administrador.</div>
<div><br></div>
<div>Todos los recursos funcionan de forma similar.</div>
<div><br></div>
<div>Por ejemplo, las actividades las crea cada usuario.</div>
<div>Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.</div>
<div>El coordinador de zona tambi&eacute;n puede modificar las actividades de sus zonas, pero no borrarlas, etc.</div>
<div><br></div>
<div><br></div>
<div>Espero que se entienda.</div>
<div><br></div>
<div>Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi soluci&oacute;n para el problema no es muy elegante:</div>
<div><br></div>
<div>En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).</div>
<div><br></div>
<div><br></div>
<div>Y despu&eacute;s de este rollo...</div>
<div><br></div>
<div><br></div>
<div>Me gustar&iacute;a conocer alguna forma elegante de implementar esto. Alg&uacute;n libro que pueda comprar, alguna web (no tiene porqu&eacute; ser de Rails), incluso alg&uacute;n plugin que implemente esto o alg&uacute;n proyecto similar de GitHub que pueda ver su funcionamiento.</div>
<div><br></div>
<div>Eso es todo.</div>
<div><br></div>
<div>Muchas gracias por llegar hasta aqu&iacute; leyendo....</div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<br><div>
<span><div><div>
<div>Luis Miguel Cabezas Granado</div>
<div>Ingeniero T&eacute;cnico Inform&aacute;tica de Sistemas</div>
<div><a href="http://www.magolope.com/" target="_blank">http://www.magolope.com/</a></div>
<div><a href="http://ninjaphp.wordpress.com/" target="_blank">http://ninjaphp.wordpress.com/</a></div>
</div></div></span>
</div>

<br>
</div></div>
</div>
<br>_______________________________________________<br>
Proudly free of Ruby Forum crossposting since 01/07/2009<br>
Ror-es mailing list<br><a href="mailto:Ror-es@...">Ror-es@...net</a><br><a href="http://lists.simplelogica.net/mailman/listinfo/ror-es" target="_blank">http://lists.simplelogica.net/mailman/listinfo/ror-es</a><br><br>
</blockquote>
</div>
<br>
</div>
</div>
Alejandro Riera | 10 Feb 01:30 2012
Picon

Re: Libro sobre ACLs

+1 a cancan

Enviado desde mi iCool

El 09/02/2012, a las 17:27, Luis Miguel Cabezas Granado <luismiguel.cabezas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> escribió:

Muy buenas,

Tengo una pequeña duda de concepto que me gustaría darle una solución elegante.

El escenario es el siguiente:

- Una aplicación con unos 200 usuarios.
- Los usuarios pertenecen a grupos.
- Los grupos tienen Roles.
- Existen tres roles principales: Usuario, Coordinador y Administrador.

Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.

La idea es que el usuario Administrador pueda crear "localidades" a través de un formulario escribiendo los datos necesarios (denominación, fotografía, población, etc).
Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.
Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y también deberían tener permisos para modificar.
Todos los usuarios pueden ver el listado de localidades (index) y las características de cada una ellas (show), pero no poder editarlas.
Solo puede borrar localidades el Administrador.

Todos los recursos funcionan de forma similar.

Por ejemplo, las actividades las crea cada usuario.
Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.
El coordinador de zona también puede modificar las actividades de sus zonas, pero no borrarlas, etc.


Espero que se entienda.

Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi solución para el problema no es muy elegante:

En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).


Y después de este rollo...


Me gustaría conocer alguna forma elegante de implementar esto. Algún libro que pueda comprar, alguna web (no tiene porqué ser de Rails), incluso algún plugin que implemente esto o algún proyecto similar de GitHub que pueda ver su funcionamiento.

Eso es todo.

Muchas gracias por llegar hasta aquí leyendo....







Luis Miguel Cabezas Granado
Ingeniero Técnico Informática de Sistemas

_______________________________________________
Proudly free of Ruby Forum crossposting since 01/07/2009
Ror-es mailing list
Ror-es-cR8azDVoa3L+lq1/ny+2PQ@public.gmane.orgica.net
http://lists.simplelogica.net/mailman/listinfo/ror-es
<div>
<div>+1 a cancan<br><br>Enviado desde mi iCool</div>
<div>
<br>El 09/02/2012, a las 17:27, Luis Miguel Cabezas Granado &lt;<a href="mailto:luismiguel.cabezas@...">luismiguel.cabezas@...</a>&gt; escribi&oacute;:<br><br>
</div>
<div></div>
<blockquote type="cite"><div>
<div>Muy buenas,</div>
<div><br></div>
<div>Tengo una peque&ntilde;a duda de concepto que me gustar&iacute;a darle una soluci&oacute;n elegante.</div>
<div><br></div>
<div>El escenario es el siguiente:</div>
<div><br></div>
<div>- Una aplicaci&oacute;n con unos 200 usuarios.</div>
<div>- Los usuarios pertenecen a grupos.</div>
<div>- Los grupos tienen Roles.</div>
<div>- Existen tres roles principales: Usuario, Coordinador y Administrador.</div>
<div><br></div>
<div>Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.</div>
<div><br></div>
<div>La idea es que el usuario Administrador pueda crear "localidades" a trav&eacute;s de un formulario escribiendo los datos necesarios (denominaci&oacute;n, fotograf&iacute;a, poblaci&oacute;n, etc).</div>
<div>Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.</div>
<div>Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y tambi&eacute;n deber&iacute;an tener permisos para modificar.</div>
<div>Todos los usuarios pueden ver el listado de localidades (index) y las caracter&iacute;sticas de cada una ellas (show), pero no poder editarlas.</div>
<div>Solo puede borrar localidades el Administrador.</div>
<div><br></div>
<div>Todos los recursos funcionan de forma similar.</div>
<div><br></div>
<div>Por ejemplo, las actividades las crea cada usuario.</div>
<div>Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.</div>
<div>El coordinador de zona tambi&eacute;n puede modificar las actividades de sus zonas, pero no borrarlas, etc.</div>
<div><br></div>
<div><br></div>
<div>Espero que se entienda.</div>
<div><br></div>
<div>Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi soluci&oacute;n para el problema no es muy elegante:</div>
<div><br></div>
<div>En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).</div>
<div><br></div>
<div><br></div>
<div>Y despu&eacute;s de este rollo...</div>
<div><br></div>
<div><br></div>
<div>Me gustar&iacute;a conocer alguna forma elegante de implementar esto. Alg&uacute;n libro que pueda comprar, alguna web (no tiene porqu&eacute; ser de Rails), incluso alg&uacute;n plugin que implemente esto o alg&uacute;n proyecto similar de GitHub que pueda ver su funcionamiento.</div>
<div><br></div>
<div>Eso es todo.</div>
<div><br></div>
<div>Muchas gracias por llegar hasta aqu&iacute; leyendo....</div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<br><div>
<span class="Apple-style-span"><div><div>
<div>Luis Miguel Cabezas Granado</div>
<div>Ingeniero T&eacute;cnico Inform&aacute;tica de Sistemas</div>
<div><a href="http://www.magolope.com/">http://www.magolope.com/</a></div>
<div><a href="http://ninjaphp.wordpress.com/">http://ninjaphp.wordpress.com/</a></div>
</div></div></span>
</div>

<br>
</div></blockquote>
<blockquote type="cite"><div>
<span>_______________________________________________</span><br><span>Proudly free of Ruby Forum crossposting since 01/07/2009</span><br><span>Ror-es mailing list</span><br><span><a href="mailto:Ror-es@...">Ror-es@...ica.net</a></span><br><span><a href="http://lists.simplelogica.net/mailman/listinfo/ror-es">http://lists.simplelogica.net/mailman/listinfo/ror-es</a></span><br>
</div></blockquote>
</div>
Jose Antonio Parra Barragan | 10 Feb 09:58 2012
Picon

Re: Libro sobre ACLs

Otro más para cancan. Hago uso de este plugin en un escenario similar al presentado.


Un saludo,

José Antonio Parra Barragán


El 10 de febrero de 2012 01:30, Alejandro Riera <ariera <at> gmail.com> escribió:
+1 a cancan

Enviado desde mi iCool

El 09/02/2012, a las 17:27, Luis Miguel Cabezas Granado <luismiguel.cabezas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> escribió:

Muy buenas,

Tengo una pequeña duda de concepto que me gustaría darle una solución elegante.

El escenario es el siguiente:

- Una aplicación con unos 200 usuarios.
- Los usuarios pertenecen a grupos.
- Los grupos tienen Roles.
- Existen tres roles principales: Usuario, Coordinador y Administrador.

Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.

La idea es que el usuario Administrador pueda crear "localidades" a través de un formulario escribiendo los datos necesarios (denominación, fotografía, población, etc).
Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.
Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y también deberían tener permisos para modificar.
Todos los usuarios pueden ver el listado de localidades (index) y las características de cada una ellas (show), pero no poder editarlas.
Solo puede borrar localidades el Administrador.

Todos los recursos funcionan de forma similar.

Por ejemplo, las actividades las crea cada usuario.
Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.
El coordinador de zona también puede modificar las actividades de sus zonas, pero no borrarlas, etc.


Espero que se entienda.

Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi solución para el problema no es muy elegante:

En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).


Y después de este rollo...


Me gustaría conocer alguna forma elegante de implementar esto. Algún libro que pueda comprar, alguna web (no tiene porqué ser de Rails), incluso algún plugin que implemente esto o algún proyecto similar de GitHub que pueda ver su funcionamiento.

Eso es todo.

Muchas gracias por llegar hasta aquí leyendo....







Luis Miguel Cabezas Granado
Ingeniero Técnico Informática de Sistemas

_______________________________________________
Proudly free of Ruby Forum crossposting since 01/07/2009
Ror-es mailing list
Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@public.gmane.org
http://lists.simplelogica.net/mailman/listinfo/ror-es

_______________________________________________
Proudly free of Ruby Forum crossposting since 01/07/2009
Ror-es mailing list
Ror-es-cR8azDVoa3KGDVdjXOJXsPZyGwqD9iJb@public.gmane.orgnet
http://lists.simplelogica.net/mailman/listinfo/ror-es


<div>
<p>Otro m&aacute;s para cancan. Hago uso de este plugin en un escenario similar al presentado.<br clear="all"></p>
<div><br></div>
<div>Un saludo,</div>
<br>Jos&eacute; Antonio Parra Barrag&aacute;n<br><br><br><div class="gmail_quote">El 10 de febrero de 2012 01:30, Alejandro Riera <span dir="ltr">&lt;<a href="mailto:ariera@...">ariera <at> gmail.com</a>&gt;</span> escribi&oacute;:<br><blockquote class="gmail_quote">
<div bgcolor="#FFFFFF">
<div>+1 a cancan<br><br>Enviado desde mi iCool</div>
<div>
<br>El 09/02/2012, a las 17:27, Luis Miguel Cabezas Granado &lt;<a href="mailto:luismiguel.cabezas@..." target="_blank">luismiguel.cabezas@...</a>&gt; escribi&oacute;:<br><br>
</div>
<div><div class="h5">
<div></div>
<blockquote type="cite"><div>
<div>Muy buenas,</div>
<div><br></div>
<div>Tengo una peque&ntilde;a duda de concepto que me gustar&iacute;a darle una soluci&oacute;n elegante.</div>
<div><br></div>
<div>El escenario es el siguiente:</div>
<div><br></div>
<div>- Una aplicaci&oacute;n con unos 200 usuarios.</div>
<div>- Los usuarios pertenecen a grupos.</div>
<div>- Los grupos tienen Roles.</div>
<div>- Existen tres roles principales: Usuario, Coordinador y Administrador.</div>
<div><br></div>
<div>Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.</div>
<div><br></div>
<div>La idea es que el usuario Administrador pueda crear "localidades" a trav&eacute;s de un formulario escribiendo los datos necesarios (denominaci&oacute;n, fotograf&iacute;a, poblaci&oacute;n, etc).</div>
<div>Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.</div>
<div>Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y tambi&eacute;n deber&iacute;an tener permisos para modificar.</div>
<div>Todos los usuarios pueden ver el listado de localidades (index) y las caracter&iacute;sticas de cada una ellas (show), pero no poder editarlas.</div>
<div>Solo puede borrar localidades el Administrador.</div>
<div><br></div>
<div>
Todos los recursos funcionan de forma similar.</div>
<div><br></div>
<div>Por ejemplo, las actividades las crea cada usuario.</div>
<div>Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.</div>
<div>El coordinador de zona tambi&eacute;n puede modificar las actividades de sus zonas, pero no borrarlas, etc.</div>
<div><br></div>
<div><br></div>
<div>Espero que se entienda.</div>
<div><br></div>
<div>Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi soluci&oacute;n para el problema no es muy elegante:</div>
<div><br></div>
<div>En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).</div>
<div><br></div>
<div><br></div>
<div>Y despu&eacute;s de este rollo...</div>
<div><br></div>
<div><br></div>
<div>Me gustar&iacute;a conocer alguna forma elegante de implementar esto. Alg&uacute;n libro que pueda comprar, alguna web (no tiene porqu&eacute; ser de Rails), incluso alg&uacute;n plugin que implemente esto o alg&uacute;n proyecto similar de GitHub que pueda ver su funcionamiento.</div>
<div><br></div>
<div>Eso es todo.</div>
<div><br></div>
<div>Muchas gracias por llegar hasta aqu&iacute; leyendo....</div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<br><div>
<span><div>
<div>
<div>Luis Miguel Cabezas Granado</div>
<div>Ingeniero T&eacute;cnico Inform&aacute;tica de Sistemas</div>
<div><a href="http://www.magolope.com/" target="_blank">http://www.magolope.com/</a></div>
<div><a href="http://ninjaphp.wordpress.com/" target="_blank">http://ninjaphp.wordpress.com/</a></div>
</div>
</div></span>
</div>

<br>
</div></blockquote>
</div></div>
<div class="im"><blockquote type="cite"><div>
<span>_______________________________________________</span><br><span>Proudly free of Ruby Forum crossposting since 01/07/2009</span><br><span>Ror-es mailing list</span><br><span><a href="mailto:Ror-es@..." target="_blank">Ror-es@...</a></span><br><span><a href="http://lists.simplelogica.net/mailman/listinfo/ror-es" target="_blank">http://lists.simplelogica.net/mailman/listinfo/ror-es</a></span><br>
</div></blockquote></div>
</div>
<br>_______________________________________________<br>
Proudly free of Ruby Forum crossposting since 01/07/2009<br>
Ror-es mailing list<br><a href="mailto:Ror-es@...">Ror-es@...net</a><br><a href="http://lists.simplelogica.net/mailman/listinfo/ror-es" target="_blank">http://lists.simplelogica.net/mailman/listinfo/ror-es</a><br><br>
</blockquote>
</div>
<br>
</div>
Luis Miguel Cabezas Granado | 10 Feb 10:04 2012
Picon

Re: Libro sobre ACLs

Ok, gracias.


Estoy mirando Devise y Cancan.

Un saludo.

El 10 de febrero de 2012 01:30, Alejandro Riera <ariera-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> escribió:
+1 a cancan

Enviado desde mi iCool

El 09/02/2012, a las 17:27, Luis Miguel Cabezas Granado <luismiguel.cabezas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> escribió:

Muy buenas,

Tengo una pequeña duda de concepto que me gustaría darle una solución elegante.

El escenario es el siguiente:

- Una aplicación con unos 200 usuarios.
- Los usuarios pertenecen a grupos.
- Los grupos tienen Roles.
- Existen tres roles principales: Usuario, Coordinador y Administrador.

Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.

La idea es que el usuario Administrador pueda crear "localidades" a través de un formulario escribiendo los datos necesarios (denominación, fotografía, población, etc).
Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.
Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y también deberían tener permisos para modificar.
Todos los usuarios pueden ver el listado de localidades (index) y las características de cada una ellas (show), pero no poder editarlas.
Solo puede borrar localidades el Administrador.

Todos los recursos funcionan de forma similar.

Por ejemplo, las actividades las crea cada usuario.
Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.
El coordinador de zona también puede modificar las actividades de sus zonas, pero no borrarlas, etc.


Espero que se entienda.

Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi solución para el problema no es muy elegante:

En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).


Y después de este rollo...


Me gustaría conocer alguna forma elegante de implementar esto. Algún libro que pueda comprar, alguna web (no tiene porqué ser de Rails), incluso algún plugin que implemente esto o algún proyecto similar de GitHub que pueda ver su funcionamiento.

Eso es todo.

Muchas gracias por llegar hasta aquí leyendo....







Luis Miguel Cabezas Granado
Ingeniero Técnico Informática de Sistemas

_______________________________________________
Proudly free of Ruby Forum crossposting since 01/07/2009
Ror-es mailing list
Ror-es-cR8azDVoa3KGDVdjXOJXsEypRyQmHu6m@public.gmane.org
http://lists.simplelogica.net/mailman/listinfo/ror-es

_______________________________________________
Proudly free of Ruby Forum crossposting since 01/07/2009
Ror-es mailing list
Ror-es-cR8azDVoa3KGDVdjXOJXsPZyGwqD9iJb@public.gmane.orgnet
http://lists.simplelogica.net/mailman/listinfo/ror-es




--
Luis Miguel Cabezas Granado
I.T. Informática de Sistemas
www.magolope.com
<div>
<p>Ok, gracias.</p>
<div><br></div>
<div>Estoy mirando Devise y Cancan.</div>
<div><br></div>
<div>Un saludo.<br><br><div class="gmail_quote">El 10 de febrero de 2012 01:30, Alejandro Riera <span dir="ltr">&lt;<a href="mailto:ariera@...">ariera@...</a>&gt;</span> escribi&oacute;:<br><blockquote class="gmail_quote">
<div bgcolor="#FFFFFF">
<div>+1 a cancan<br><br>Enviado desde mi iCool</div>
<div>
<br>El 09/02/2012, a las 17:27, Luis Miguel Cabezas Granado &lt;<a href="mailto:luismiguel.cabezas@..." target="_blank">luismiguel.cabezas@...</a>&gt; escribi&oacute;:<br><br>
</div>
<div><div class="h5">
<div></div>
<blockquote type="cite"><div>
<div>Muy buenas,</div>
<div><br></div>
<div>Tengo una peque&ntilde;a duda de concepto que me gustar&iacute;a darle una soluci&oacute;n elegante.</div>
<div><br></div>
<div>El escenario es el siguiente:</div>
<div><br></div>
<div>- Una aplicaci&oacute;n con unos 200 usuarios.</div>
<div>- Los usuarios pertenecen a grupos.</div>
<div>- Los grupos tienen Roles.</div>
<div>- Existen tres roles principales: Usuario, Coordinador y Administrador.</div>
<div><br></div>
<div>Existen muchos tipos de recursos diferentes. Por ejemplo, "localidades", "actividades", "zonas", etc.</div>
<div><br></div>
<div>La idea es que el usuario Administrador pueda crear "localidades" a trav&eacute;s de un formulario escribiendo los datos necesarios (denominaci&oacute;n, fotograf&iacute;a, poblaci&oacute;n, etc).</div>
<div>Cada localidad tiene asociado a uno o a varios usuarios. Estos usuarios pueden editar su o sus localidades localidades.</div>
<div>Los que tienen el Rol Coordinador manejan una "zona", que es un conjunto de localidades y tambi&eacute;n deber&iacute;an tener permisos para modificar.</div>
<div>Todos los usuarios pueden ver el listado de localidades (index) y las caracter&iacute;sticas de cada una ellas (show), pero no poder editarlas.</div>
<div>Solo puede borrar localidades el Administrador.</div>
<div><br></div>
<div>
Todos los recursos funcionan de forma similar.</div>
<div><br></div>
<div>Por ejemplo, las actividades las crea cada usuario.</div>
<div>Todos los usuarios pueden ver todas las actividades, pero solo pueden modificar o borrar las suyas.</div>
<div>El coordinador de zona tambi&eacute;n puede modificar las actividades de sus zonas, pero no borrarlas, etc.</div>
<div><br></div>
<div><br></div>
<div>Espero que se entienda.</div>
<div><br></div>
<div>Tengo implementada una serie de tablas con usuarios, grupos y roles (parecido a las ACL de Cakephp), pero mi soluci&oacute;n para el problema no es muy elegante:</div>
<div><br></div>
<div>En el Application_controller tengo un filtro donde voy mirando que "controller" y que "action" hacen y por cada uno de ellos tengo un if then else para permitir acceso al recurso o no. Tengo que escribir 7 if then else por cada conjunto de recursos (index, show, new, edit, create, update, destroy).</div>
<div><br></div>
<div><br></div>
<div>Y despu&eacute;s de este rollo...</div>
<div><br></div>
<div><br></div>
<div>Me gustar&iacute;a conocer alguna forma elegante de implementar esto. Alg&uacute;n libro que pueda comprar, alguna web (no tiene porqu&eacute; ser de Rails), incluso alg&uacute;n plugin que implemente esto o alg&uacute;n proyecto similar de GitHub que pueda ver su funcionamiento.</div>
<div><br></div>
<div>Eso es todo.</div>
<div><br></div>
<div>Muchas gracias por llegar hasta aqu&iacute; leyendo....</div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<br><div>
<span><div>
<div>
<div>Luis Miguel Cabezas Granado</div>
<div>Ingeniero T&eacute;cnico Inform&aacute;tica de Sistemas</div>
<div><a href="http://www.magolope.com/" target="_blank">http://www.magolope.com/</a></div>
<div><a href="http://ninjaphp.wordpress.com/" target="_blank">http://ninjaphp.wordpress.com/</a></div>
</div>
</div></span>
</div>

<br>
</div></blockquote>
</div></div>
<div class="im"><blockquote type="cite"><div>
<span>_______________________________________________</span><br><span>Proudly free of Ruby Forum crossposting since 01/07/2009</span><br><span>Ror-es mailing list</span><br><span><a href="mailto:Ror-es@..." target="_blank">Ror-es@...</a></span><br><span><a href="http://lists.simplelogica.net/mailman/listinfo/ror-es" target="_blank">http://lists.simplelogica.net/mailman/listinfo/ror-es</a></span><br>
</div></blockquote></div>
</div>
<br>_______________________________________________<br>
Proudly free of Ruby Forum crossposting since 01/07/2009<br>
Ror-es mailing list<br><a href="mailto:Ror-es@...">Ror-es@...net</a><br><a href="http://lists.simplelogica.net/mailman/listinfo/ror-es" target="_blank">http://lists.simplelogica.net/mailman/listinfo/ror-es</a><br><br>
</blockquote>
</div>
<br><br clear="all"><div><br></div>-- <br>Luis Miguel Cabezas Granado<br>I.T. Inform&aacute;tica de Sistemas<br><a href="http://www.magolope.com" target="_blank">www.magolope.com</a><br>
</div>
</div>
Picon

Re: Libro sobre ACLs

Ok, gracias.

Estoy mirando Devise y Cancan.

Un saludo.

También puedes usar Sorcery en lugar de Devise. A mi me gusta más porque es más simple.



-------------------------------------------------------------
<div><div apple-content-edited="true"><div>
<div>
<blockquote type="cite">Ok, gracias.<div><br></div>
<div>Estoy mirando Devise y Cancan.</div>
<div><br></div>
<div>Un saludo.</div>
</blockquote>
<br>
</div>
<div>Tambi&eacute;n puedes usar Sorcery en lugar de Devise. A mi me gusta m&aacute;s porque es m&aacute;s simple.</div>
<div><br></div>
<div><a href="https://github.com/NoamB/sorcery">https://github.com/NoamB/sorcery</a></div>
<div><br></div>
<div><br></div>
<div>
<div>-------------------------------------------------------------</div>
<div>
<div>Gonzalo Rodr&iacute;guez-Baltan&aacute;s D&iacute;az</div>
<div><a href="mailto:gonzalo.rodriguez@...">gonzalo.rodriguez@...</a></div>
<div><a href="http://nerian.es">nerian.es</a></div>
</div>
</div>
</div></div></div>

Gmane