我正在尝试按照此官方教程
安装yii-user的扩展程序http://www.yiiframework.com/extension/yii-user/#hh2
但我遇到了一些问题,特别是当我添加这个
时 user'=>array(
// enable cookie-based authentication
'class' => 'WebUser',
'allowAutoLogin'=>true,
'loginUrl' => array('/user/login'),
到配置主页。当我添加此代码时,我有此消息错误
include(WebUser.php)[function.include]:无法打开流:没有这样的文件或目录
有任何线索吗?我以前需要做点什么吗?
提前致谢
答案 0 :(得分:5)
我搜索了一下,我找到了解决方案。但它不在文档中。
因此,我们应该在 protected / components 中创建 WebUser.php ,如下所示:
<?php
// this file must be stored in:
// protected/components/WebUser.php
class WebUser extends CWebUser {
// Store model to not repeat query.
private $UserLogin;
// Return first name.
// access it by Yii::app()->user->first_name
function getFirst_Name(){
$user = $this->loadUserLogin(Yii::app()->user->user_id);
return $user->first_name;
}
// This is a function that checks the field 'role'
// in the User model to be equal to 1, that means it's admin
// access it by Yii::app()->user->isAdmin()
function isAdmin(){
$user = $this->loadUser(Yii::app()->user->user_id);
return intval($user->user_role_id) == 1;
}
// Load user model.
protected function loadUserLogin($id=null)
{
if($this->UserLogin===null)
{
if($id!==null)
$this->UserLogin=UserLogin::model()->findByPk($id);
}
return $this->UserLogin;
}
}?>
并且应该可以工作。
答案 1 :(得分:2)
您是否按照http://www.yiiframework.com/extension/yii-user/#hh2上的说明进行操作?
您可能忘记在config.php
'import'=>array(
...
'application.modules.user.models.*',
'application.modules.user.components.*',
),
答案 2 :(得分:0)
我遇到了同样的问题,发现这是许可问题。 Apache用户(在我的情况下是www-data)无法访问protected / modules / users / *文件。