搭建演示站

为了能让用户更好的体验我们插件的前后端/uniapp小程序,所以请尽量搭建演示测试环境!

如果你开发了多个应用插件,为了减少开发者的工作量,你可以将多个应用插件部署在同一个站点中,共用同一个后台管理。

准备工作

1、一台云服务器,建议使用Linux,如果你还没有云服务器,建议使用腾讯云服务器

2、一个域名(必须已经备案且状态正常)

3、安装web环境,建议宝塔一键安装

4、安装免费NGINX防火墙,宝塔市场可以下载

5、关闭调试环境,请将根目录下的.env文件的 app_debug = 0

6、数据库请一定要单独设置,不可用root账号;

7、修改文件权限为 555、runtime 为755权限

8、此时我们希望给用户更好的提示, 比如: 无权操作 。首先我们修改app/admin/middleware/system/AdminPermissions.php

如果你需要在前台也限权,则可以找到app/index/middleware/system/IndexPermissions.php进行对应逻辑编写即可

在控制器中初始化 process 方法,代码如下:

public function process(Request $request, callable $handler): Response
{
    $app        = request()->getApp();
    $controller = request()->getController();
    $action     = request()->getAction();
    $AdminLogin = request()->session()->get('AdminLogin');
    if (!isset($AdminLogin['id']) && strtolower($controller) !== 'login') {
        return redirect(url('/login/index'));
    }

    // 实际开发请去除此段代码
    $arrayAuth = ['index','login','authorities','getUserMenu'];
    if ((!in_array($action,$arrayAuth) && request()->isPost()) || ($action == 'del' || $action == 'delete')) {
        if(request()->isAjax()) {
            return json(ResultCode::AUTH_ERROR);
        }
        else {
           return $this->abortPage('演示环境,没有权限!',403);
        }
    }
    // 实际开发请去除此段代码
}
最后更新时间:2022-12-02 17:38:45601
https://doc.swiftadmin.net/developer/59.html