如何允许来宾访问Yii2控制器中的某些操作?
我想知道如何配置我的控制器,以允许作为来宾执行某些操作,并能够在Yii2中显示该来宾的视图 我在自己的行为中尝试过这条规则如何允许来宾访问Yii2控制器中的某些操作?,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,我想知道如何配置我的控制器,以允许作为来宾执行某些操作,并能够在Yii2中显示该来宾的视图 我在自己的行为中尝试过这条规则 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [
'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:在签出一个新项目Ii2从零开始升级并尝试再次生成控制器和模型后,以前的规则起了作用,我认为是以前项目中的一些配置以某种方式阻止了我作为来宾访问。在您的规则中
[
'allow' => true,
'actions' => ['login', 'signup'],
'roles' => ['?'],
],
然后,将允许匿名用户进行登录和注册操作
或者也可以使用唯一的方法来豁免不需要acl的操作
有关更多详细信息,请参见使用以下工具
public $freeAccessActions = ['contact-us', 'free-access-action-2'];
这将允许来宾访问它仍然将我重定向到登录页面:/您要执行哪个操作?向我展示代码。我使用gii生成了一个控制器,我想向来宾用户展示一个视图。那么,您呈现该视图的操作是什么?复制该操作名称并将其放入操作数组中,然后将角色设置为?。这样就可以了。我想显示gii生成的视图,我尝试在我的规则中添加'actions'=>['create','update']和'roles'=>['?'],但仍然被重定向到登录屏幕,我需要在另一个配置中设置什么吗?你的最后一行在句中被截断了