Steven0T 2017-10-30 17:25:29 9196次浏览 4条评论 7 1 0

有关 Yii 2.0 鉴权之访问控制过滤器参考类手册 https://www.yiichina.com/doc/guide/2.0/security-authorization

use yii\web\Controller;
use yii\filters\AccessControl;

class SiteController extends Controller
{
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'only' => ['login', 'logout', 'signup'],
               'rules' => [
                    [
                        'ips' => [ '127.0.0.1'],//这里填写允许访问的IP
                         'allow' => true,
                    ],
            ],
        ];
    }
    // ...
}

访问规则支持很多选项,下面是一些简要说明,你也可以通过扩展yii\filters\AccessRule来创建你自己的访问规则类:

  • allow:指定这是一条允许(allow)还是拒绝(deny)规则。

  • actions:这条规则匹配那些动作(action)。是一个动作ID的数组,区分大小写,假如这个选项设置为空或者不设置,那么这条规则适用于所有动作(action)。

  • controllers:指定这条规则适用于那些控制器(controller)。值是控制器ID数组,区分大小写,设置为空或者不设置,意味着适用于所有控制器(controller)。

  • roles:指定这条规则适用于那些用户角色。有两个认可的特殊角色,都是通过yii\web\User::$isGuest来检查。?:匹配游客(未认证用户),@:匹配已认证的用户,未设置或设为空,则匹配所有角色。

  • ips:匹配那些客户端IP。ip地址可以使用通配符(),比如:192.168.。为设置或设为空则匹配所有IP。

  • verbs:匹配那些请求方式(如:GET,POST)。区分大小写。

  • matchCallback:指定一个PHP回调,以确定应用该规则。

  • denyCallback:PHP回调,当规则禁止访问的时候会被调用

觉得很赞
  • 评论于 2017-12-17 18:50 举报
    'verbs' => [
        'class' => VerbFilter::className(),
        'actions' => [
            'delete' => ['POST'],
        ],
    ],
    
  • 评论于 2018-02-06 10:14 举报

    请教一下,我在控制器里面这样写:

    public function rules()
    {
        return [
            [['identity_card_number', 'mobile'],'safe'],
            [
                'ips' => [ '127.0.0.1'],//这里填写允许访问的IP
                'allow' => true,
            ],
        ];
    }
    

    在浏览器端访问,为什么报这个错误:

    {"code":5000,"message":"Invalid validation rule: a rule must specify both attribute names and validator type."}
    
    2 条回复
    评论于 2018-09-04 16:47 回复

    你这个跟我上面的区别太大了,

    评论于 2020-03-06 20:01 回复

    把:$model->save()
    改为:$model->save(false)

  • 评论于 2020-07-01 13:39 举报

    如何既限制用户 才能访问
    又限制 IP?

  • 评论于 2020-07-01 13:40 举报

    如果这样写 限制登录功能怎么办?

您需要登录后才可以评论。登录 | 立即注册