我想知道如何配置我的控制器以允许某些操作作为访客执行,并能够在Yii2中显示该访客的视图。
我在我的行为中尝试过这条规则
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => ['create','update'],
'allow' => true,
'ips' => ['127.0.0.1'],
]
],
]
编辑: 这是我试过的配置:
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'actions' => ['create', 'update'],
'roles' => ['?'],
],
],
]
Edit2:从头开始检查一个新项目(yii2-advanced)并尝试再次生成控制器和模型以前的规则有效,我认为这是前一个项目的一些配置阻止我作为一个客人莫名其妙。
答案 0 :(得分:3)
在你的规则中
[
'allow' => true,
'actions' => ['login', 'signup'],
'roles' => ['?'],
],
然后,匿名用户将允许操作login
和signup
。
或者您也可以使用only
方法来免除不需要acl
的操作。
有关详细信息,请参阅http://www.yiiframework.com/doc-2.0/guide-security-authorization.html
答案 1 :(得分:0)
使用以下内容
public $freeAccessActions = ['contact-us', 'free-access-action-2'];
这将允许访客访问