5

所以我正在学习 Yii 框架,当你第一次创建 sceleton 应用程序时,内置的 admin/demo 帐户就是这样。我想删除它们,因为即使在上传到我的网络服务器后,我仍然可以使用它们登录。那么我在哪里可以删除呢?

4

2 回答 2

12

在文件夹protected/components/中,您将拥有一个文件UserIdentity.php,这些默认登录名出现在该文件中,您可以更改/删除它们。

您可以使用您的数据库对您的用户表进行身份验证,有点像这样:

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

检查指南中的这篇文章

于 2012-05-27T08:33:59.383 回答
6

在 protected/components 下你会找到 UserIdentity.php,用户和他们的密码将在 authentication 函数中使用数组声明。

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

更多关于如何在 Yii 中使用身份验证的详细信息可以在 Yii官方文档的身份验证和授权小节中找到

于 2012-05-27T08:39:20.800 回答