2012-05-27 7 views
5

Więc uczę się Yii Framework, i jest to coś z wbudowanymi kontami administracyjnymi/demo, kiedy po raz pierwszy tworzysz aplikację szkieletową. Chciałbym je usunąć, ponieważ nawet po uplodet na moim serwerze internetowym nadal mogę się z nimi zalogować. Więc gdzie mogę to usunąć?Struktura Yii: Usuń konta demo/admin

Odpowiedz

12

w folderze protected/components/ będziesz mieć plik UserIdentity.php To miejsce, gdzie pojawiają się te domyślne logowania, można zmienić/usunąć je.

można używać db do uwierzytelniania użytkowników na stole, trochę tak:

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; 
} 
} 

Sprawdź this article in the guide.

6

pod chronionym/komponentami znajdziesz UserIdentity.php, użytkownicy i ich hasła zostaną zadeklarowane w funkcji uwierzytelniania za pomocą tablicy.

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

Bardziej szczegółowe informacje na temat korzystania z uwierzytelniania w Yii można znaleźć w podsekcji authentication and authorisation oficjalnej dokumentacji Yii