Php Yii:仅为管理员用户启用配置文件
如何仅为管理员用户启用DB分析?若我在配置中静态地定义它,那个么应用程序还不知道用户是否是管理员。作为建议,在控制器中,您可以执行以下操作:Php Yii:仅为管理员用户启用配置文件,php,yii,profiling,Php,Yii,Profiling,如何仅为管理员用户启用DB分析?若我在配置中静态地定义它,那个么应用程序还不知道用户是否是管理员。作为建议,在控制器中,您可以执行以下操作: public function init(){ $role=Rbac::role(Yii::app()->user->id); if($role=="admin"){ Yii::app()->db->enableProfiling=true; } return parent::init
public function init(){
$role=Rbac::role(Yii::app()->user->id);
if($role=="admin"){
Yii::app()->db->enableProfiling=true;
}
return parent::init();
}
请注意,我假设我们有一个名为Rbac
的类,它有一个通过用户id获取用户角色的方法(role()
)
另外,如果您有一个模块,您可以将其检查到与控制器相同的init()方法中。即使您有一个基本控制器类,也可以这样做。如果您需要跳过某些特定操作,也可以在controllerbeforeAction()
方法中执行此操作
为了更优雅地执行此操作,您可以创建一个行为
,并将其附加到控制器或将其放入预加载
配置文件中
另一种方法是在用户登录UserIdentity
类的过程中执行此操作,以设置启用分析的状态,或者在联机登录成功后执行此操作