loginUrl的url参数写法 [ 2.0 版本 ]
场景是我设置了ACF过滤器,现在以游客身份访问IndexController的actionIndex方法,根据过则,没有权限,要跳转到loginUrl设置的url,即user/login,但是如果我不加[]这个中括号,跳转的url是index/user/login. 加中括号和不加的区别在哪里呢?
Electricight 补充于 2018-05-30 16:01
图片传不上来,我直接上代码:
'user' => [
'identityClass' => 'backend\models\User',
'loginUrl'=>['user/login'],
'enableAutoLogin' => true,
'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
],
共 2 个回答
-
数组[],当前module下的 controller/action; 字符串'',当前控制下的action;
共 2 条回复Electricight 回复于 2018-06-07 16:46 回复可以具体说一下吗?没看明白
@Electricight 你是不是在配置里设置了默认控制器'defaultRoute' => 'index',有的话你改成'defaultRoute' => 'user'试试,源码如楼下写的
-
public function loginRequired($checkAjax = true) { $request = Yii::$app->getRequest(); if ($this->enableSession && (!$checkAjax || !$request->getIsAjax())) { $this->setReturnUrl($request->getUrl()); } if ($this->loginUrl !== null) { $loginUrl = (array) $this->loginUrl; if ($loginUrl[0] !== Yii::$app->requestedRoute) { return Yii::$app->getResponse()->redirect($this->loginUrl); } } throw new ForbiddenHttpException(Yii::t('yii', 'Login Required')); } 为什么我看的是 都是强制转换 数组了
共 1 条回复Electricight 回复于 2018-06-07 16:46 回复什么意思哦?
Electricight
注册时间:2017-11-20
最后登录:2018-07-16
在线时长:4小时30分
最后登录:2018-07-16
在线时长:4小时30分
- 粉丝0
- 金钱100
- 威望0
- 积分140