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 '验证通过';
}