我对yii有疑问。
我有一些视频,视图操作是根据某些权限执行的。某些视频可能会被隐藏,仅适用于某些用户类别或所有用户。我可以从yii过滤器或其他东西处理这个,但真正的问题是如果有人知道视频文件路径会发生什么,在这种情况下我无法处理权限。
我的解决方案没问题,但我有一个问题 - 当有人直接访问文件时,我会将其重定向(从htaccess
)到页面,当我根据它的ID验证用户权限时。当我尝试从url访问文件时一切正常,权限过滤器工作正常,但是当我从播放器中调用文件时出错了。从我看到的情况来看,Yii::app()->user->id
是空的。
有什么建议吗?
这是我的UserIdentity
课程:
class UserIdentity extends CUserIdentity
{
private $_id;
/**
* Authenticates a user.
* @return boolean whether authentication succeeds.
*/
public function authenticate()
{
$user=Utilizator::model()->findByAttributes(array('username'=>$this->username));
if($user===null)
{
$this->errorCode=self::ERROR_USERNAME_INVALID;
}
else
{
if($user->password!==$user->encrypt($this->password))
{
$this->errorCode=self::ERROR_PASSWORD_INVALID;
}
else
{
$this->_id = $user->id;
$this->errorCode=self::ERROR_NONE;
}
}
return !$this->errorCode;
}
public function getId()
{
return $this->username;
}
}