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