2012-05-27 7 views
5

だから私はYiiフレームワークを勉強しています。そして、あなたが最初にSceletonアプリケーションを作成するときにadmin/demoアカウントが組み込まれていることがあります。私はそれらを取り除きたいのですが、uplodetの後でもWebサーバーにログインしてもログインできます。だから私はそれを取り除くことができますか?フォルダでYiiフレームワーク:デモ/管理者アカウントを削除する

答えて

12

保護/コンポーネント/あなたはこれらのデフォルトのログインが現れるところ、あなたがそれらを削除/変更することができますファイルUserIdentity.phpを持っています。

あなたは多少このように、ユーザーテーブルに対して認証するためにあなたのDBを使用することができます。

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

チェックthis article in the guide

6

UserIdentity.phpが見つかると、ユーザとそのパスワードは、配列を使用してauthenticate関数で宣言されます。 Yiiの中で認証を使用する方法のより具体的な情報は、公式のYiiドキュメント

authentication and authorisationサブセクションで見つけることができます

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

関連する問題