搭建演示站
为了能让用户更好的体验我们插件的前后端/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:451300 https://doc.swiftadmin.net/developer/59.html