PHP code example of niklaslu / think-authentication

1. Go to this page and download the library: Download niklaslu/think-authentication library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

niklaslu / think-authentication example snippets


/**
     *
     * @param string $name 规则名称,多个用,隔开
     * @param int $uid 用户id
     * @param string $tpye and:且关系 or: 或关系
     */
    public function check($name , $uid , $relation = 'and'){
       // code ......
    }

'auth'  => [
    'is_open'           => 1, // 权限开关 1为开启,0为关闭
    'type'         => 1, // 认证方式 TODO。
    'table_group'        => 'auth_group', // 用户组数据不带前缀表名
    'table_user_group' => 'auth_user_group', // 用户-用户组关系不带前缀表
    'table_auth_rule'         => 'auth_rule', // 权限规则不带前缀表
    'table_user'         => 'user', // 用户信息不带前缀表
],



iklaslu\Auth;
use think\Config;

define('RUNTIME_PATH', 'runtime');

$database = [
    // 数据库类型
    'type'           => 'mysql',
    // 服务器地址
    'hostname'       => 'localhost',
    // 数据库名
    'database'       => 'd_auth',
    // 数据库用户名
    'username'       => 'root',
    // 数据库密码
    'password'       => 'root',
    // 数据库连接端口
    'hostport'       => '3306',
    // 数据库编码默认采用utf8
    'charset'        => 'utf8',
    // 数据库表前缀
    'prefix'         => 't_',

];

Config::set('database' , $database);


$auth = new Auth();

// 测试用户id为1
$uid = 1;

// $check = $auth->check('test', $uid);
// result : '验证通过'

// $check = $auth->check('route' , $uid);
// result : Array ( [error_code] => 100002 [error_msg] => 验证规则无权限 )

// $check = $auth->check('norule' , $uid);
// result : Array ( [error_code] => 100001 [error_msg] => 验证规则不存在 )

// $check = $auth->check('test,route', $uid , 'and');
// result : Array ( [error_code] => 100002 [error_msg] => 验证规则无权限 )

$check = $auth->check('test,route', $uid , 'or');
// result : 验证通过


if (!$check){
    // 验证不通过可以查看验证不通过错误代码
    $error = $auth->getErrorInfo();
    print_r($error);

}else{
    echo '验证通过';
}