Yii Framework Forum: Reglas De Negocio Con Rbac - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Reglas De Negocio Con Rbac reglas de negocio con rbac Rate Topic: -----

#1 User is offline   ferminako 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 64
  • Joined: 27-February 13

Posted 05 April 2013 - 09:39 AM

Buenas a to2,

con el fin de usar el sistema de autenticación y roles por defecto de Yii , he generado con rbac el sistema de roles, tareas y operaciones pertinente, pero tb necesito generar algo de logica de negocio con el fin de hilar mas fino.

Ej:

Un usuario con rol de edicion puede administrar editar posts, por lo que en el accessRules lo contemplo:

//Controlador de Posts...

public function accessRules()
	{
		return array(
			array('allow',  
				'actions'=>array('admin','update'),
				'roles'=>array('rol_edicion'),
			),


Pero necesito ser más concreto, solo podrá editar aquel que el haya creado, por lo que necesito poder pasar logica de negocio en la autenticacion del rol. algo como un aprametro mas en el array que devuelva true or false llamando a un codigo php (regla de negocio)... seria posible?

Gracias!
0

#2 User is offline   robregonm 

  • Experienced Yii Developer
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 602
  • Joined: 30-July 09
  • Location:Colombia

Posted 08 April 2013 - 12:42 PM

Eso está contemplado en el RBAC http://www.yiiframew...-business-rules :)

Para su caso particular con la función accessRules, solo se debe adicionar el parámetro "expression" que es código PHP en forma de string que será "evaluado". http://www.yiiframew...-control-filter
Es decir algo así:
public function accessRules()
{
         return array(
                 array('allow',  
                         'actions'=>array('admin','update'),
                         'roles'=>array('rol_edicion'),
                         'expression'=>'$user->id == '.$this->idPropio // Esta es la idea, entonces debe ajustarse a su propia configuración
                  ),

Ricardo Obregón
LinkedIn Profile
YiiFramework en Español - http://yiiframework.co/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.5+, nginx, MySQL, PostgreSQL, Yii 1.x & 2.x, CanJS and more.
Follow me: @robregonm & @obregonco & @1ServerCo.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users