当前位置: 首页 > 后端技术 > PHP

Any-基于Laravel5.4全新的权限管理后台骨架

时间:2023-03-30 05:56:21 PHP

Any是最简化的权限管理系统,基于Laravel5.4开发。由于Laravel5.5的发布延迟,只好先写了一个Laravel5.4的版本,以后再升级。演示地址:http://any.iwanli.meAnyAny是什么?最精简的全新管理后台模块,包括最简单的权限控制。刚开始写权限系统的时候,看了老外写的源码。根据他的代码,他写了一个基于Laravel5.2的IAdmin后台。这是最初的权限系统。对于公共使用,所有权限都写在配置文件中。iDashboard在IAdmin的基础上,优化了设计思路和代码结构,将权限与路由名称绑定,一个中间件可以判断所有控制器的权限。基于Laravel5.3开发,唯一的优化是绑定权限和路由别名,这样代码写完就可以直接使用了。但是配置文件过多的问题还是没有解决。Any是基于iDashboard经验重构的项目。之前版本的权限控制需要自己定义。有没有办法像ACL一样自动生成权限并进行判断?这大大减少了定义权限和配置的需要。任何一个出生。Any的主要原理是根据用户访问的路由获取当前访问的控制器(controller)和方法(method),控制器加上方法生成唯一的权限值。当用户访问某个方法时,中间件会进行判断。如果你是超级管理员,即使你没有这个权限,权限也会自动赋予超级管理员角色。为了避免过多的中间件查询,在用户登录成功后会缓存一份当前用户的所有权限,判断权限时直接获取缓存。更新任何角色的权限都会更新缓存。此外,在代码上也做了很多优化。Anyfeatures基于controller方法的权限控制Multi-theme(目前只开发了一套,后期支持)Multi-language(数据多语言还没有实现)以上只是基础功能的开始,希望得到更多inspirationInstallAny下载本项目的代码进入本地:gitclonehttps://github.com/lanceWan/any.git进入项目并安装composer:cdanycomposerinstallconfiguration.envfile:[sudo]cp。env.example.env注意Linux和Mac下的执行权限!配置数据库:DB_HOST=localhostDB_DATABASE=homesteadDB_USERNAME=homesteadDB_PASSWORD=secret迁移数据:phpartisanmigrate--seedOK,项目已经配置好,访问首页登录即可,不知道路线的可以直接上到routes/web.php文件。默认管理员账号:iwanli,密码:123456。如果是在linux或者mac下配置,请注意相关目录的权限,这里就不多说了,enjoy!安装错误问题如果出现以下错误:唯一支持的密码是具有正确密钥长度的AES-128-CBC和AES-256-CBC。如果你在使用phpartisankey:generate生成秘钥的时候报这个错,那么请将另一个Laravel项目的APP_KEY复制到你报错项目的.env文件中。然后正常执行命令和其他命令。建议与反馈Any的发展离不开您的反馈与建议。大家有什么想法可以直接在https://github.com/lanceWan/any/issues提出,谢谢。Laravel学习交流群:312621686