accessRules的设置使用expression设置,没自动跳转登录页面

array(‘allow’,‘actions’=>array(‘monitor’,‘monitorData’),‘expression’=>’$user->duty==“大股东”’),

我使用这条规则设置后,如果没有登录,则报 CWebUser没有duty属性错误,这怎么处理?

没人这样用吗?

$user->duty=="大股东"前加上!$user->isGuest &&

我有这样使用过 不过遇见的问题是 返回值好像为boolean形式的不行 会报错

针对yii\framework\base\CComponent.php(592)


if(is_string($_expression_) && !function_exists($_expression_))

我遇见的问题是 is_string($expression) 对于boolean类型会判断为false

然后执行592行的


return call_user_func_array($_expression_, $_data_);

就会报错

如果将expression返回的false 或 true 作为string格式 ‘true’ 或 ‘false’

就会转到正确的Unauthorized 警示页面

不知道和你遇见的问题是否一致?