2012-05-27 9 views
5

Así que estoy aprendiendo el Marco Yii, y eso está con las cuentas administrativas/demo integradas cuando se crea la aplicación sceleton por primera vez. Me gustaría eliminarlos, porque incluso después de uplodet a mi servidor web todavía puedo iniciar sesión con ellos. Entonces, ¿dónde puedo eliminar eso, por favor?Marco Yii: eliminar cuentas demo/admin

Respuesta

12

En la carpeta protegida /componentes/ tendrá un archivo UserIdentity.php ahí es donde aparecen estos nombres de usuario por defecto, puede cambiar/eliminarlos.

Puede utilizar su base de datos para la autenticación en su tabla de usuarios, algo como esto:

class UserIdentity extends CUserIdentity 
{ 
private $_id; 
public function authenticate() 
{ 
    $record=User::model()->findByAttributes(array('username'=>$this->username)); 
    if($record===null) 
     $this->errorCode=self::ERROR_USERNAME_INVALID; 
    else if($record->password!==md5($this->password)) 
     $this->errorCode=self::ERROR_PASSWORD_INVALID; 
    else 
    { 
     $this->_id=$record->id; 
     $this->setState('title', $record->title); 
     $this->errorCode=self::ERROR_NONE; 
    } 
    return !$this->errorCode; 
} 

public function getId() 
{ 
    return $this->_id; 
} 
} 

Comprobar this article in the guide.

6

en protegido/componentes encontrará UserIdentity.php, los usuarios y sus contraseñas se declararán en la función de autenticación mediante una matriz.

public function authenticate() 
{ 
    $users=array(
     // username => password 
     'demo'=>'demo', 
     'admin'=>'admin', 
    ); 

información más específica sobre cómo utilizar la autenticación en Yii se puede encontrar en la authentication and authorisation subsección de la documentación oficial de Yu