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
5
A
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