【问题标题】:How to allow guest access to some actions in Yii2 Controller?如何允许访客访问 Yii2 控制器中的某些操作?
【发布时间】:2015-07-14 13:16:37
【问题描述】:

我想知道如何配置我的控制器以允许以访客身份执行某些操作并能够在 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)并尝试再次生成控制器和模型之后,之前的规则有效,我认为是之前项目中的一些配置阻止了我作为以某种方式来宾。

【问题讨论】:

    标签: yii2 yii2-advanced-app


    【解决方案1】:

    在你的规则中

                    [
                        'allow' => true,
                        'actions' => ['login', 'signup'],
                        'roles' => ['?'],
                    ],
    

    那么login 和signup 将允许匿名用户操作。

    或者您也可以使用only 方法,以免除不需要acl 的操作。

    更多详情请见http://www.yiiframework.com/doc-2.0/guide-security-authorization.html

    【讨论】:

    • 它仍然将我重定向到登录页面:/
    • 您要执行哪个操作?给我看代码。
    • 我使用 gii 生成了一个控制器,我想向来宾用户展示一个视图。
    • 那么你渲染那个视图的动作是什么?复制该动作名称并将其放入actions 数组并将role 设置为?。这样就可以了。
    • 我想显示由 gii 生成的视图,我尝试在我的 'roles' => ['?'] 中添加 'actions' => ['create', 'update']规则并且仍然被重定向到登录屏幕,我需要在另一个配置中设置一些东西吗?
    【解决方案2】:

    使用下面的

     public $freeAccessActions = ['contact-us', 'free-access-action-2'];
    

    这将允许客人访问

    【讨论】:

    • 你的最后一行被删掉了
    猜你喜欢
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2010-10-16
    • 2011-01-02
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多