@forecho 这个方法我也试过了,如果使用except的话,他是对这个控制器的方法不使用认证, public function behaviors()
{
return ArrayHelper::merge(parent::behaviors(), [
'authenticator' => [
'class' => QueryParamAuth::className(),
'except' => ['index', 'view'],
],
]);
}
就是这个认证就没有添加认证,就是上面的except => index, view 这两个方法根本就没有了认证机制,也是没辙了,现在用两个控制器去实现了,一个游客去访问的,一个是登录的用户去访问的。先这么实现吧,以后有办法了在改吧,谢谢 forecho哥了。
@forecho 我知道是这样,我现在想实现跟pc端一样的效果,就是登陆不等了都可以访问这个控制器,判断登录没登录通过授权的方式,但是rest里面好像不行啊,添加认证之后,没有正确access-token连控制器都访问不了。 所以下面的方式好像不可以 public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'only' => ['login', 'logout', 'signup'],
'rules' => [
[
'allow' => true,
'actions' => ['login', 'signup'],
'roles' => ['?'],
],
[
'allow' => true,
'actions' => ['logout'],
'roles' => ['@'],
],
],
],
];
}
@forecho 我现在还是不知道如何下手,您推荐的文章我也看多了,这些也都会了,现在就是不知道如何去通过base/model去做些什么,要是有一个例子就好了。