Login (Validar Usuario)

Hola a todos

Soy nuevo en Yii, estoy por adoptar este Framework como plataforma de desarrollo, siguiendo el ejemplo que viene en el tutorial y realizando un cambio en login en lugar que tome un par de usuarios, los tome de una tabla de MySql pongo el siguiente codigo, el cual genera un error, alguien tiene idea de como implementar esto, gracia de antemano desde Monterrey NL. Mexico.

$connection = Yii::app()->db;

	$sql = 'SELECT username, password FROM User WHERE username == ' . $this->username ;


	$users=$connection->createCommand($sql)->query();

Yo te sugiero que uses la extension Yii-user para esto, dale una mirada.

Para los permisos y roles se puede usar rights.

Ahi tenes el tema resuelto. Para detalles de implementacion dale una mirada a la dooc de las dos extensiones, son bastante claras.

Sobre el error que te da tu codigo, en SQL se usa = no == como veo que esta en tu query.

Para cambiar el método de validación hay que cambiar el código en components/UserIdentity.php por algo como:




$user = User::model()->findByAttributes(array('username' => $this->username));

if($user->password == $this->password){

 //usuario logueado

}else{

 //usuario | password inválido

}

Siendo User el modelo generado a partir de la tabla de usuarios.

Aqui deberías poder manejar los distintos casos de error y mejorar el acceso guardando el hashing de los passwords con salt, etc.

El acceso a los atributos de los modelos declarados pueden ser accedidos directamente con AR evitando tener que declarar las consultas SQL explcitamente.