Yii Framework Forum: Cambio de usuario de conexión a la BD - Yii Framework Forum

Jump to content

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

Cambio de usuario de conexión a la BD SQL Server Rate Topic: -----

#1 User is offline   Jorge J. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 31
  • Joined: 28-May 10
  • Location:Bogotá - Colombia

Posted 05 November 2010 - 10:17 AM

Buenos días,

He intentado añadir mayor seguridad a las acciones dentro de la aplicación en Yii con las que se pueden establecer usando usuarios propios de la base de datos, para lo cual necesitaría cambiar el USR y PSW de conexión a la BD.

Al usar las funciones Yii::app()->db->setActive y luego Yii::app()->db->setAttribute las variables 'username' y 'password' no cambian manteniendo las establecidas en config/main.php.

En la clase Yiibase intenté modificar los campos con una función set y tampoco me lo permite.

Esperaría que esto permitiera el manejo de conexiones variables ('dinámicas') deacuerdo con la autenticación y por ende, los permisos específicos en tablas, campos y acciones detalladas en la BD

Agradecería de su ayuda para lograr este objetivo.

Gracias,
JJHA
Yii Framework
0

#2 User is offline   sebas 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 496
  • Joined: 28-October 08
  • Location:Buenos Aires, Argentina

Posted 05 November 2010 - 02:40 PM

No entiendo muy bien la razón de esto... Podrías ser un poco más especifico??

Saludos,
0

#3 User is offline   Jorge J. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 31
  • Joined: 28-May 10
  • Location:Bogotá - Colombia

Posted 05 November 2010 - 03:06 PM

View Postsebas, on 05 November 2010 - 02:40 PM, said:

No entiendo muy bien la razón de esto... Podrías ser un poco más especifico??

Saludos,


La razón es la implementación de una interfase con los inicios de sesión de SQL Server a los cuales se les pueden asignar permisos a nivel de tablas, campos y funciones. Actualmente la implementación en Yii usa un solo usuario para conectarse con la BD y los usuarios de la aplicación deben ser manejados como registros de tablas.

Gracias por la atención a mi caso.
JJHA
Yii Framework
0

#4 User is offline   Jorge J. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 31
  • Joined: 28-May 10
  • Location:Bogotá - Colombia

Posted 08 November 2010 - 08:29 AM

Agradezco a alguno de los miembros aclararme o guiarme en la posibilidad de implementar este requerimiento.
JJHA
Yii Framework
0

#5 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 10 November 2010 - 03:50 PM

View PostJorge J., on 05 November 2010 - 03:06 PM, said:

La razón es la implementación de una interfase con los inicios de sesión de SQL Server a los cuales se les pueden asignar permisos a nivel de tablas, campos y funciones. Actualmente la implementación en Yii usa un solo usuario para conectarse con la BD y los usuarios de la aplicación deben ser manejados como registros de tablas.


La interface a nivel de base de datos, tal como lo hace SQL Server, la implementa Yii en sus clases de control de acceso. Tú especificas en cada modelo, iniciando la sesión en tu aplicación, qué puede o no hacer y/o qué acciones permites a cada tipo de usuario o a qué usuarios en particular ('@' registrados, * todos, 'admin' usuario admin, etc...).

public function filters()
{
   return array(
   'accessControl', // perform access control for CRUD operations
);
	}

	/**
	 * Specifies the access control rules.
	 * This method is used by the 'accessControl' filter.
	 * @return array access control rules
	 */
	public function accessRules()
	{
		return array(
			array('allow', // allow authenticated user to perform 'create' and 'update' actions
				'actions'=>array('create','update'),
				'users'=>array('@'),
			),
			array('allow', // allow admin user to perform 'admin', 'batch' and 'delete' actions
				'actions'=>array('admin','delete','batch'),
				'users'=>array('admin'),
			),
			array('deny',  // deny all users
				'users'=>array('*'),
			),
		);
	}


Ya sabes que los modelos son los encargados de hacer consultas y/o modificar las bases de datos, pues bien, también puedes hacer un sistema basado en 'ROLES' - no sé cómo se dice en español, con el que puedes decidir qué pueden o no pueden ver o realizar los usuarios de tu sistema. Yo personalmente, no utilizo, ni creo que utilice el sistema de roles tal y como lo hace Yii, lo tengo desarrollado de otro modo. Pero de ahí lo bueno de esta librería, la libertad que tienes para realizar una u otra cosa.

Entonces, dicho esto... para qué un sistema de multiconexión con la base de datos? No crees que es un poco ilógico?

De todas formas, esta es una visión personal a lo que consultas, por favor no te lo tomes a mal.

Un saludo
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#6 User is offline   Jorge J. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 31
  • Joined: 28-May 10
  • Location:Bogotá - Colombia

Posted 19 November 2010 - 03:17 PM

Gracias Antonio por tu respuesta,

Es cierto que Yii a través de los ROLES maneja los permisos sobre las vista, pero cuando quiero hacerlo a nivel de campos me resulta tedioso. Ahora como bien sabes las bases de datos robustas manejan permisos por columnas en sus tablas, pero para esto se deben tener creados usuarios de la base de datos; en Yii se conecta con un único usuario a la BD y no me sirve para establecer estos permisos específicos porque le aplicarían a todos los usuarios autenticados en Yii.

Nuevamente agradezco la atención a mi requerimiento.
JJHA
Yii Framework
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