ThinkPHP6多应用模式实战:从配置到权限管理的完整解决方案

2025-07-18 0 336

ThinkPHP6多应用模式实战:从配置到权限管理的完整解决方案

一、多应用模式核心优势

ThinkPHP6的多应用模式相比传统单应用具有以下特点:

  • 业务隔离:前后台、API等应用完全独立
  • 配置独立:每个应用可自定义路由、中间件等
  • 资源共享:公共模型、服务可跨应用复用
  • 部署灵活:支持不同应用独立部署

二、多应用配置实战

1. 基础配置

// config/app.php
return [
    'app_map' => [
        'admin' => 'admin',  // 域名admin.xxx.com对应admin应用
        '*' => 'home'        // 其他域名访问home应用
    ],
    'domain_bind' => [
        'api.xxx.com' => 'api'  // 子域名绑定
    ]
];

2. 目录结构

wwwroot/
├─app/
│  ├─admin/       # 后台应用
│  │  ├─controller/
│  │  ├─model/
│  ├─api/         # API接口应用
│  ├─home/        # 前台应用
│  ├─common/      # 公共目录
│  │  ├─model/    # 公共模型
│  │  ├─service/  # 公共服务

三、企业级权限系统案例

1. 数据库设计

# 管理员表
CREATE TABLE `admin` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL,
  `password` char(32) NOT NULL
);

# 角色表
CREATE TABLE `role` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL
);

# 权限节点表
CREATE TABLE `rule` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(50) NOT NULL,
  `url` varchar(100) NOT NULL
);

2. 权限验证中间件

// app/admin/middleware/Auth.php
class Auth
{
    public function handle($request, Closure $next)
    {
        $rule = $request->controller().'/'.$request->action();
        if(!AuthService::check($rule)){
            return redirect('/admin/login');
        }
        return $next($request);
    }
}

3. 多应用路由配置

// route/admin.php
Route::group('admin', function(){
    Route::rule('login', 'admin/auth/login');
    Route::rule('logout', 'admin/auth/logout');
})->middleware(appadminmiddlewareAuth::class);

四、常见问题解决方案

问题1:跨应用调用服务

// 在api应用中调用admin服务
app('adminserviceUser')->getInfo($uid);

问题2:统一异常处理

// 每个应用创建自己的异常处理
// app/admin/exception/Handle.php
class Handle extends thinkexceptionHandle
{
    public function render($request, Throwable $e)
    {
        // 后台应用专属异常处理
    }
}

ThinkPHP6多应用模式实战:从配置到权限管理的完整解决方案
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

淘吗网 thinkphp ThinkPHP6多应用模式实战:从配置到权限管理的完整解决方案 https://www.taomawang.com/server/thinkphp/471.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务