Yii2通过用户名限制访问

时间:2015-07-24 01:56:13

标签: php model-view-controller yii2

我使用yii2登录注销,并且有一个没有角色的时髦数据库。是否可以限制访问网站的数据库上的某些用户?

你能告诉我怎么样吗?

2 个答案:

答案 0 :(得分:1)

一种非常简单的方法,您可以在控制器类中使用allow键的表达式,如下所示。

public function behaviors() {
        return [
            'access' => [
                'class' => AccessControl::className(),
//                'only' => ['logout', 'signup', 'dashboard'],
                'rules' => [
                    [
                        'actions' => ['dashboard', 'send-mail'],
                        'allow' => Utils::isAdmin(),
                    ],
                ]
        ];
}

在本文中了解详情:https://github.com/yiisoft/yii2/blob/master/docs/guide/security-authorization.md

答案 1 :(得分:0)

我的问题更多是因为我想要禁止连接只有2个用户名,但其余的都能够连接,在common / models / users的简单代码中,我添加了这段代码:

public static function findByUsername($username)
{
    /*code for restriction of users */
    if($username =='admin' || $username =='lui.jin.long'){
    //do nothing.
    }else{
        return static::findOne(['USR_USERNAME' => $username, 'USR_STATUS' => self::STATUS_ACTIVE]);
    } 

}

在更标准的方法中,最好使用RBAC。