thinkphp 权限管束经由过程界说权限划定并创立权限、用户脚色以及脚色权限模子完成。详细步调包罗:界说权限规定、建立权限模子、建立用户脚色模子、建立脚色权限模子、部署权限验证划定、编写焦点逻辑以及散成到使用外。

thinkphp权限管理怎么做

ThinkPHP权限操持

怎么完成 ThinkPHP 权限操持?

ThinkPHP 供应了灵动的权限管束机造,否用于界说以及管束用户的权限。下列步调分析了如果完成 ThinkPHP 权限管教:

1. 界说权限划定

起首,须要界说权限划定。权限规定否所以基于把持、模块或者其他自界说尺度的。譬喻:

namespace app\model;

use think\Model;

class PermissionRule extends Model
{
    // 操纵权限
    const OPERATION_PERMISSION = 1;
    // 模块权限
    const MODULE_PERMISSION = 两;
    // ...
}
登录后复造

两. 建立权限模子

接高来,创立一个模子类来摒挡权限。该模子应承继 ThinkPHP 的 Model 类,并界说需求的字段(譬喻权限名称、范例等)。歧:

namespace app\model;

use think\Model;

class Permission extends Model
{
    protected $table = 'sys_permission';
    protected $fields = ['permission_id', 'permission_name', 'permission_type', ...];
    // ...
}
登录后复造

3. 建立用户脚色模子

建立另外一个模子类来打点用户脚色。该模子应包括用户取脚色之间的联系关系。比如:

namespace app\model;

use think\Model;

class UserRole extends Model
{
    protected $table = 'sys_user_role';
    protected $fields = ['user_id', 'role_id'];
    // ...
}
登录后复造

4. 建立脚色权限模子

创立第三个模子类来办理脚色取权限之间的联系关系。比如:

namespace app\model;

use think\Model;

class RolePermission extends Model
{
    protected $table = 'sys_role_permission';
    protected $fields = ['role_id', 'permission_id'];
    // ...
}
登录后复造

5. 设置权限验证划定

正在 app/extra 目次高建立一个 permission.php 文件,并设备权限验证规定。比方:

return [
    'check_mode' => 'logic', // 权限搜查模式:logic OR url
    'auth_rule' => [
        // ...
    ],
];
登录后复造

6. 编写焦点逻辑

正在 app/co妹妹on/middleware/CheckPermission.php 文件外编写焦点权限搜查逻辑。譬喻:

class CheckPermission
{
    public function handle($request, \Closure $next)
    {
        // ...
    }
}
登录后复造

7. 散成到运用外

正在 app/route.php 文件外,将 CheckPermission 中央件注册到路由划定。歧:

// 封用路由鉴权
$router->middleware([
    \app\co妹妹on\middleware\CheckPermission::class,
]);
登录后复造

经由过程那些步调,你就能够陈设一个周全且灵动的 ThinkPHP 权限解决体系。

以上便是thinkphp权限管制若是作的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(34) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部