小编推荐几个Laravel 后台管理系统

由百牛信息技术bainiu.ltd整理发布于博客园

一、不容错过的Laravel后台管理扩展包 —— Voyager

简介
Voyager是一个你不容错过的Laravel后台管理扩展包,提供了CRUD操作、媒体管理、菜单构建、数据管理等操作。

官网:https://the-control-group.github.io/voyager/

Github:https://github.com/the-control-group/voyager

视频演示:https://devdojo.com/episode/laravel-admin-package-voyager

安装使用
创建完新的Laravel应用后就可以在根目录下通过以下命令引入Voyager扩展包:

composer require tcg/voyager
接下来创建一个新的数据库并将数据库认证信息添加到.env文件:

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
然后注册Voyager服务提供者以及图片处理服务到配置文件config/app.php的providers数组:

TCG\Voyager\VoyagerServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,
最后,我们可以通过以下命令安装Voyager:

php artisan voyager:install
安装完成后,就可以进入后台查看效果了。最简单的方式是在项目根目录下运行php artisan serve,然后在浏览器中访问http://localhost:8000/admin,这样就可以进入登录认证页面,我们可以使用如下演示账户:

email: admin@admin.com
password: password

二、Laravel Admin RBAC 后台管理系统

Umi 是由laravel 5.3开发的全面的后台管理系统, 包括以下特性
https://github.com/taoyu65/UMIAdmin

BREAD 系统 (编辑, 读取, 添加, 删除, 查看) 要求laravel 5.3
RBAC 权限系统 (基于角色权限开发) 包含2部分, 一部分是 数据库中的数据表的操作权限, 增删改等, 另一部分是管理界面权限操作, 整个权限系统基于数据层面和URL界面的操作与分配
数据表的全面操作 增删改, 搜索, 以及自定义这些操作
表之间关系的设定与操作, 比如可以自定义关联删除,关联更新, 或定义删除某表之前检查是否在其他表存在外键因而不能删除表等, 例如删除一个购物车,里面的物品所在的物品表的数据将一并删除等
自定义显示数据格式, 可以设定任何字段用以什么方式现在在界面.例如一个外键可以显示其ID 或者 显示所对应表字段的名称.
功能简介 (详细攻略正在制作...)

权限系统: 分为2个层次, 硬编码层次 和 比较流行的RBAC系统
硬编码权限: 权限不依赖数据库中的数据, 由代码来编写权限, 系统有相应的接口来实现权限, 硬编码权限拥有比RBAC更高的优先级, 也就是说如果用户被指定
为硬编码权限将忽略所有RBAC权限. 已经实现的权限有: 超级管理员(拥有所有权限, 除了修改代码不能通过数据库改变他的权限)
目的: 可以为不同的用户定制不依赖数据库的永久的权限, 可以定制不同风格的界面以及额外的功能
实现: 在配置文件指定一个用户的硬编码权限名称 > 实现硬编码权限的接口 (指定特有的权限功能) > 在工厂类添加对应的代码用于生成权限对象
风格: 在实现硬编码权限接口中, 可以指定不同的masterpage的模板, 搜索栏目, 页眉, 页尾, 左边栏, 提示栏目, 各个模块均可以实现接口自定义不同风格,
然后通过不同的用户调用不同的界面
RBAC系统: 比较流行的权限解决方案, 本案例的权限细度定制在数据表的增删改查 俗称BREAD, (不支持字段级别的增删改查, 因为本人觉得根本没用 还增加复杂程度)
由于和硬编码权限共存, 所以只有用户没有被指定为特殊的硬编码权限时候才发挥作用. 此权限系统由umiAuth包实现, 调用方式借鉴了entrust, ("动作名称-表名称" 比如
delete-user)
实现1: 如果一个路由只查看一种权限可以使用中间件BreadAccessMiddleware配合路由来实现(逻辑代码完全不用关心权限问题), 路由必须包含table的参数即"{table}"
路由调用中间件要指定要判断的权限动作(比如 'middleware'=> 'umi.bread.access:edit')
实现2: 如果一个页面包含多种不同权限判断, 可以实例化umiAuth然后 调用里面的各种方法来判断权限
自定义数据显示: 用于在浏览, 编辑, 添加数据表记录的时候 自定义数据格式的显示.
例如: 当添加文章信息时候, 文章类别(通常为外键) 需要显示对应数据表的真实类别名称, 而不是主表的数字. 在例如 输入性别的时候可以用下拉框或者单选按钮来替代文本框
实现: 实现对应的接口, 完成接口中的方法
潜力: 只要能想到的数据类型都可以实现, 时间, 文本, 连接, 图片, 星级, 标签(可以带样式, 不同类别不同样式), 外键显示, 等等...
表关系操作: 当删除, 编辑, 一条记录的时候可以自定义触发表关系操作
例如: 删除一个用户触发删除所有用户其他信息的操作, 或增加一个用户以后, 修改某个字段为其加一等等
实现: 通过程序中的向导自定义, 分为4个类别, 内联删除, 外表检查, 自身检查, 自定义
内联删除: 当删除一条记录则同时删除指定的数据, 可以为不同数据表, 删除条件可以自定义
外表检查: 在执行一个动作之前(比如删除, 编辑) 检查指定的一个数据表中的记录是否符合指定的规则. 比如, 为了保持数据完整性,删除或者编辑之前查看是否其他表存在这条数据的外键
自身检查: 在执行一个动作之前(比如删除, 编辑) 检查自身的数据记录是否符合指定的规则, 同外表检查, 只不过检查自身数据记录
自定义: 就是完全自定义
自定义搜索: 对数据表进行搜索条件的配置
例如: 功能定制为Tab页, 可以有多个不同的tab页, 每个tab页里面可以定制不同的搜索选项, 可以定制不同的数据类型. 可以组合搜索选项
菜单定制: 左边栏菜单可以根据不同的用户显示不同的菜单, 属于权限的一部分, 但是仅仅是url链接级别的显示和隐藏. 配合RBAC发挥最大作用.菜单功能在数据库层面上分为, 菜单树 和 json菜单
菜单树: 以树状形态显示所有的菜单, 只有超级管理用会从这个菜单树加载菜单(因为超级管理员拥有全部权限,不受RBAC控制, 需要看到所有菜单)
json菜单: 每一个用户分配一个json菜单, 以json形式存储, json数据是根据彩单树的数据整合而成.(不要和RBAC的用户角色权限混淆)
安装

安装composer 和 laravel 5.3 框架. 请自行安装,可以通过不同方式安装. 推荐composer方式
执行命令 composer create-project --prefer-dist laravel/laravel blog 5.3.*
安装UMI Admin.
执行命令 composer require ym/umi "v0.1.2.*"

如果可以正常使用composer 执行上面命令的可以忽略这个段落, 如果不能正常使用composer的小伙伴可以查看 https://github.com/taoyu65/UMIAdmin/wiki/install
配置数据库连接文件(.env)
DB_HOST=localhost

DB_DATABASE=新建一个空的数据库

DB_USERNAME=用户名

DB_PASSWORD=密码
添加服务提供者.添加下面2行代码到 根目录/config/app.php 里面providers数组里面
YM\UmiServiceProvider::class,

YM\umiAuth\umiAuthServiceProvider::class,
执行下面的命令, 用于安装应用程序
php artisan umi:install (会提示选择安装数据库中数据的语言 1=汉语 2=英语) 输入1然后回车.
附:如果数据库已经安装完毕, 在想更改语言英语或汉语 仅需执行 php artisan umi:install --lang-zh-only(或 --lang-en-only)
设置系统为中文:
在根目录下config/app.php中 设置 'locale' => 'zh_cn', 即可
好了. 可以开始了.

注意:为了保证数据库迁移,数据库结构和一些必要的数据。 请在执行php artisan umi:install之前 保持数据库为空。如果要重新安装请手动清空数据库包括结构。

三、Speedy - 简洁灵活的 Laravel 管理后台

Speedy是基于 vue2 + bootstrap 的 laravel 管理后台,能够快速开发好一个权限后台,而且能够非常方便的生成一级或者二级菜单。

项目地址: https://github.com/HanSon/speedy

欢迎前来 star 以及提 issue !

file

安装

laravel 5.1 以上:

composer require hanson/speedy

laravel 5.1 :

composer require hanson/speedy:~v0.5.0

配置

添加服务提供者

添加 Hanson\Speedy\SpeedyServiceProvider::class, 到 app.php 的 providers 中

发布资源

php artisan vendor:publish --provider="Hanson\Speedy\SpeedyServiceProvider"

修改配置

Speedy 的配置在 config/speedy.php 中,涉及Model的命名空间以及表名(Speedy 会根据配置生成 Models 以及 Migration)

四、基于 Laravel-Admin 在十分钟内搭建起功能齐全的后台模板

简介
为 Laravel 提供后台模板的项目越来越多,学院君已陆续为大家介绍过Laravel Angular Admin、LaraAdmin、Voyager等,网友也贡献了很多后台模板,这对 Laravel 生态来说自然是好事,今天学院君还要给大家介绍一个后台模板扩展包,其官方文档号称可以帮助大家在十分钟内构建器功能完备的 Laravel 应用后台。接下来,让我们来一窥究竟吧。

laravel-admin 是一个用于为Laravel提供后台界面的构建器,仅仅通过数行代码,就可以帮助我们构建CRUD后台。

演示地址:http://120.26.143.106/admin

Github仓库:https://github.com/z-song/laravel-admin

laravel-admin就不多说了,很多人都在使用。

推荐几个Laravel 后台管理系统的更多相关文章

  1. 基于Laravel开发博客应用系列 —— 构建博客后台管理系统

    一个完整的博客应用不能没有后台管理系统.所以在本节中我们将继续完善博客应用 —— 开发后台管理系统. 1.创建路由 在上一节十分钟创建博客项目中,已经设置过了 app/Http/routes.php, ...

  2. 一款基于SpringBoot+SpringSecurity的后台管理系统,强烈推荐

    简介 Base Admin一套简单通用的后台管理系统,主要功能有:权限管理.菜单管理.用户管理,系统设置.实时日志,API加密,以及登录用户修改密码.配置个性菜单等. 技术栈 前端:Layui 后端: ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(20)-权限管理系统-根据权限获取菜单

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(20)-权限管理系统-根据权限获取菜单 不知不觉到20讲,真是漫长的日子,可惜最近工作挺忙,要不可以有更多 ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式 进行本次文章之前,我们可能需要补充一些 ...

  5. 使用react全家桶制作博客后台管理系统

    前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基于react全家桶(React.React-r ...

  6. 使用React全家桶搭建一个后台管理系统

    引子 学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果‘课后’适当地进行总结,必然更快地提升自己的水平. 由于公司采用的react+node的技术 ...

  7. ThinkAdmin for PHP后台管理系统

    ThinkAdmin for PHP后台管理系统 ThinkAdmin 是一个基于 Thinkphp 5.1.x 开发的后台管理系统,集成后台系统常用功能.基于 ThinkPHP 5.1 基础开发平台 ...

  8. xadmin快速搭建后台管理系统

    一.xadmin的特点: 1.基于Bootstrap3:Xadmin使用Bootstrap3.0框架精心打造.基于Bootstrap3,Xadmin天生就支持在多种屏幕上无缝浏览,并完全支持Boots ...

  9. ASP.NET -- WebForm -- Cookie的使用 应用程序权限设计 权限设计文章汇总 asp.net后台管理系统-登陆模块-是否自动登陆 C# 读写文件摘要

    ASP.NET -- WebForm -- Cookie的使用 ASP.NET -- WebForm --  Cookie的使用 Cookie是存在浏览器内存或磁盘上. 1. Test3.aspx文件 ...

随机推荐

  1. 【转】php和java之间rsa加密互通

    以下是php封装好的类,引入即可使用 <?php /** * 作者:pjp * 邮箱:vippjp@163.com */ class RSA{ private $privateKey='';// ...

  2. CI学习总结

    1.CI自定义配置文件: 如:config/test.php <?php $config['test']['good'] = array('aa','bb'); 在控制器中这样调用: <? ...

  3. 用apache做为代理下载本地pdf文件

    有一些公司会用apache做为代理,下载服务器上的pdf文件.以下是apache做为代理的配置 一. 环境 centos6.5  192.168.69.3 二. yum安装apache 服务 [zxj ...

  4. spirng boot资料

    这里有个srping boot 各种整合的资料 https://blog.csdn.net/Winter_chen001/article/details/80537829 SpringBoot入门总结 ...

  5. HIbernate 注解 mappedBy 与 inverse

    hibernate中 配置文件中的inverse属性意思就是放弃控制权 ,主导权由对方控制,也就是说 我方进行的删除等操作不会影响到对方 即使设置了cascadeType.ALL 这个解释其实就是hi ...

  6. 九度OJ 1045:百鸡问题 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8410 解决:3644 题目描述: 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只 ...

  7. detached HEAD state

    1 detached HEAD state指的是什么 正常情况下,HEAD指向一个branch,而branch又指向一个commit. detached HEAD state指的是HEAD指针没有指向 ...

  8. 扩容数据盘_Linux

    扩容数据盘_Linux_扩容云盘_云盘_用户指南_云服务器 ECS-阿里云 https://help.aliyun.com/document_detail/25452.html 磁盘扩容付费后: 在控 ...

  9. Swift 学习笔记(面向协议编程)

    在Swift中协议不仅可以定义方法和属性,而且协议是可以扩展的,最关键的是,在协议的扩展中可以添加一些方法的默认实现,就是在协议的方法中可以实现一些逻辑,由于这个特性,Swift是可以面向协议进行编程 ...

  10. php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构

    2.1  php中的变量: 定义变量:$变量名称=值: 变量名称:$开头    $之后的第一位必须是字母    $第二位之后可以是字母.数字或者是下划线.习惯上变量名称有实际含义,第二个单词后首字母大 ...