kPHP\Verify();② use 关键字引入: use Think\Verify; new Verify();二.今天学习内容1. 权限管理a) 用户认证 用户登陆 ThinkPHP\Library\Think\Auth 类和方法:① check($name, $value, $relation = 'or', $mode = 'url'):验证权限是否 $name中的一个或者满足 $name条件的一个$b) rbac思想 Role-Based Access Control 角色权限控制 c) 实现原理:基于用户-角色-权限之间的关系建立的一套权限控制机制,通过用户与角色之间的关联,以及角色与权限之间的关联,从而实现对用户的权限控制2.代码演示<?php
namespace Admin\Controller;
use Think\Auth;
class UserController extends AdminController{
protected function _initialize(){
parent::_initialize();
$this->auth = new Auth();
}
public function index(){
// 检查当前控制器和方法是否在权限列表中
$name = MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME;
if(!$this->auth->check($name, session('user.id'))){
$this->error('没有权限');
}
// 需要检测的规则列表,支持逗号分隔的权限规则或索引数组
$rules = [
'admin/user/index',
'admin/user/add',
'admin/user/delete',
'admin/user/edit',
//...
];
// 检查多个规则,只要有一个规则通过则返回true
$result = $this->auth->check($rules, session('user.id'));
var_dump($result);
}
}?>
以上代码演示了如何使用ThinkPHP内置的Auth类进行用户权限控制。首先在_initialize方法中实例化Auth类,然后在index方法中通过check方法检测当前用户是否有权限访问该页面,并且在rules中列出需要检查的规则列表,通过check方法检查多个规则,只要有一个规则通过就返回true。通过这种方式,可以实现对用户权限的细致控制,保证系统的安全性和稳定性。3.权限管理总结a) 基于rbac思想的权限控制机制b) 通过用户-角色-权限之间的关系建立权限控制c) 使用ThinkPHP内置的Auth类实现权限控制,通过check方法检查用户权限d) 代码演示了如何使用内置的Auth类进行用户权限控制,保证系统的安全性和稳定性结合昨天和今天的学习内容,我们学习了ThinkPHP命名空间的使用方法,包括命名空间的定义、多级空间、空间元素访问的形式、空间引入机制等。同时,我们也学习了tp框架各种功能效果,包括验证码、附件上传、缩略图等功能的实现方法。最重要的是,我们学习了权限管理的相关知识,包括用户认证和rbac思想的权限控制。通过实例化内置的Auth类,我们实现了对用户权限的细致控制,保证系统的安全性和稳定性。通过这两天的学习,我们加深了对ThinkPHP框架的理解,提升了对权限管理的认识,为今后的开发工作奠定了坚实的基础。