All Projects → jachohx → Urpm

jachohx / Urpm

urpm 是一套基于Laravel封装的后台用户管理权限系统,能够让开发者不用再关心权限问题,实现后台功能的快速开发。

Projects that are alternatives of or similar to Urpm

Hzdtf.foundation.framework
基础框架系统,支持.NET和.NET Core平台,语言:C#,DB支持MySql和SqlServer,主要功能有抽象持久化、服务层,将业务基本的增删改查抽离复用;提供代码生成器从DB生成实体、持久化、服务以及MVC控制器,每层依赖接口,并需要在客户端将对应实现层用Autofac程序集依赖注入,用AOP提供日志跟踪、事务、模型验证等。对Autofac、Redis、RabbitMQ封装扩展;DB访问提供自动主从访问,Redis客户端分区。特别适合管理系统。
Stars: ✭ 22 (-81.36%)
Mutual labels:  user, permission, role, menu
Base
Until 2018, Backpack v3 used this Base package to offer admin authentication and a blank admin panel using AdminLTE. Backpack v4 no longer uses this package, they're now built-in - use Backpack/CRUD instead.
Stars: ✭ 848 (+618.64%)
Mutual labels:  laravel, admin
Menu
Menu and sidebar management package for Laravel
Stars: ✭ 6 (-94.92%)
Mutual labels:  laravel, menu
Laravel admin api
基于laravel5.5开发的基础后台管理脚手架, RBAC权限控制; 接口基于dingo/api和tymon/jwt, 可在此基础上完成你的laravel项目
Stars: ✭ 59 (-50%)
Mutual labels:  laravel, admin
Sleepingowladmin
🦉 Administrative interface builder for Laravel (Laravel admin)
Stars: ✭ 671 (+468.64%)
Mutual labels:  laravel, admin
Laravel Boilerplate
Laravel Boilerplate / Starter Kit with Gentelella Admin Theme
Stars: ✭ 704 (+496.61%)
Mutual labels:  laravel, admin
Enso
Laravel Vue SPA, Bulma themed. For demo login use `[email protected]el-enso.com` & `password` -
Stars: ✭ 959 (+712.71%)
Mutual labels:  laravel, admin
Coreui Free Laravel Admin Template
CoreUI Free Laravel Bootstrap Admin Template
Stars: ✭ 353 (+199.15%)
Mutual labels:  laravel, admin
Voyager Zh
㊙️voyager 的中文汉化版 基于laravel 的管理后台 权限控制,菜单,数据库手脚架,长期更新
Stars: ✭ 84 (-28.81%)
Mutual labels:  laravel, admin
Yicms
基于laravel5.5 开发的Yicms系统的基础架构
Stars: ✭ 93 (-21.19%)
Mutual labels:  laravel, admin
Leacmf Laravel
leacmf是一款基于laravel5.7+layui的极速后台和api开发框架。
Stars: ✭ 98 (-16.95%)
Mutual labels:  laravel, admin
Laravel Menu
Html menu generator for Laravel
Stars: ✭ 650 (+450.85%)
Mutual labels:  laravel, menu
Laravel Ban
Laravel Ban simplify blocking and banning Eloquent models.
Stars: ✭ 572 (+384.75%)
Mutual labels:  laravel, user
Permissionmanager
Admin interface for managing users, roles, permissions, using Backpack CRUD
Stars: ✭ 363 (+207.63%)
Mutual labels:  laravel, permission
Ts3admin.class
The ts3admin.class is a powerful api for communication with Teamspeak 3 Servers from your website! Your creativity knows no bounds!
Stars: ✭ 103 (-12.71%)
Mutual labels:  user, admin
Laravel Tabler
Laravel Package for integrating Tabler template and this package is Laravel Mix friendly.
Stars: ✭ 20 (-83.05%)
Mutual labels:  laravel, admin
Admin
laravel + ant design vue 权限后台
Stars: ✭ 319 (+170.34%)
Mutual labels:  laravel, admin
Core Nestjs
A simple application demonstrating the basic usage of permissions with NestJS (JWT, Passport, Facebook, Google+, User, Group, Permission)
Stars: ✭ 347 (+194.07%)
Mutual labels:  user, permission
Demo
This is demo application for SleepingOwl Admin.
Stars: ✭ 81 (-31.36%)
Mutual labels:  laravel, admin
Laravel Permission
Associate users with roles and permissions
Stars: ✭ 10,024 (+8394.92%)
Mutual labels:  laravel, permission

说明

urpm 是一套基于Laravel封装的后台用户管理权限系统,能够让开发者不用再关心权限问题,实现后台功能的快速开发。

U(User)用户管理;

R(Role)角色管理;

P(Permission)权限管理;

M(Menu)菜单管理。

框架Demo地址:Demo

Demo账号:admin 密码:123456

如果你喜欢这个开源项目,记得在右上角点个 star 哦,谢谢:)

特点

  • 用户管理:
    • 用户可以配置权限
  • 角色管理
    • 角色可以配置用户
    • 角色可以配置权限
  • 权限管理:
    • 不需要在代码上进行权限控制;
    • 在权限管理里可以控制controller类的访问;
    • 权限控制可以控制get/post请求,也可以控制某个方法请求;
    • 权限控制的控制也可以上边两种请求的多种结合,可精确某个一请求的控制。
  • 菜单管理:
    • 菜单可以对应url前缀、controller类;
    • 可以控制哪些角色可以看到;
    • 菜单的位置可以直接通过拖拽排序。

导航

效果图

首页

用户管理

角色管理

权限管理

菜单管理

安装要求

  • Laravel 5.3+
  • php 5.6.4
  • composer

获取代码

git clone https://github.com/jachohx/urpm.git
或
git clone https://git.oschina.net/jacho/urpm.git

安装依赖

//在项目代码根目录执行
composer install

生成APP_KEY

//在项目代码根目录执行,如果已经有的就不需要生成了
php artisan key:generate
php artisan config:clear

修改 .env 配置

//修改数据库配置,以DB_开头的配置
//修改APP_URL

数据库迁移

//在项目代码根目录执行
//增加表
php artisan migrate
//增加默认数据
composer dump-autoload
php artisan db:seed

访问首页

访问APP_URL
比如我的首页:http://108.61.186.199:8088/
登录用户:admin
登录密码:123456

插件

表单提交

  • 说明:

根据laravel路由restful规则,数据更新Cotroller有两个方法,分别是store,update;store是新数据存储,update是数据修改;在请求参数里的_method=POST对应Controller的store方法,PUT对应Controller的update方法。

  • 提交方式:

表单以.post方式提交,默认增加参数_method=POST,如果提交的表单有id参数,且id值>0,_method=PUT。

  • 参数说明:
class : _submit_,有此class,则使用表单提交插件
data-form-id :必填,指定要提交的form ID
data-url:选填,以post提交form的URL,如果不填,使用form的action,url遵循store方法的restful规则,如果是数据修改,自动会在url上加上id参数,不需要自己增加;
data-refresh-url:选填,提交成功后跳转的url,如果不填,则当前页面刷新
  • 插件使用:
//提交#form /menu/1的请求,且_method=PUT,提交成功后跳转到/
<form id="form" action='/menu'>
<input type="hidden" name="id" value="1" />
<button type="submit" class="_submit_" data-form-id="form" data-refresh-url="/">提交</button>

列表删除

  • 说明:

根据laravel路由restful规则,数据删除使用的是Controller里的destroy方法,请求参数里有_method=DELETE则会使用到Controller的destroy方法。

  • 参数说明:
class : _delete_,有此class,则使用列表数据删除插件
data-url:必填,以post提交此URL,url规则遵循restful
  • 插件使用:
//提交/menu/1请求,且_method=DELETE,提交成功后刷新当前页
<a  class="_delete_" data-url="/menu/1">删除</a>

代码修改

以下是项目对配置文件做的修改,不用在代码修改,仅供大家参考

修改 .env 配置

//修改数据库配置,以DB_开头的配置
//修改APP_URL

//增加以下配置
//SQL语句是否打印,不需要的话,可以改成false
DB_LOG=true
//权限配置不能编辑的ID
//用户不能删除的ID
DB_USER_CANNOT_MANAGE_IDS=1
//角色不能删除的ID
DB_ROLE_CANNOT_MANAGE_IDS=1
//权限不能删除的ID
DB_PERMISSION_CANNOT_MANAGE_IDS=1,2,3,4,5,6,7,8,9,10
//菜单不能删除的ID
DB_MENU_CANNOT_MANAGE_IDS=1,2,3,4,5,6,7,8

修改 app/Http/Kernel.php 注册 middleware

$routeMiddleware => [
    'permission'            => \App\Http\Middleware\AdminPermission::class,
]

修改 config/app.php 注册 aliases

'aliases' => [
    'Admin' => App\Facedes\AdminFacedes::class,
]

修改 routes/web.php 注册 route

//auth
Route::group(['prefix' => '/auth', 'namespace' => "Auth", 'middleware' => ['csrf']], function () {
    Route::get('login',                     '[email protected]')->name('login');
    Route::post('login',                    '[email protected]');
    Route::get('logout',                    '[email protected]')->name('logout');
    Route::post('logout',                   '[email protected]')->name('logout');
});

//
Route::group(['prefix' => '/', 'middleware' => ['auth', 'permission']], function () {
    Route::resource('/menu/tree',           '[email protected]');
    Route::resource('/menu',                'MenuController');
    Route::get('/role/{id}/permission',     '[email protected]');
    Route::post('/role/{id}/permission',    '[email protected]');
    Route::resource('/role',                'RoleController');
    Route::resource('/user',                'UserController');
    Route::resource('/permission',          'PermissionController');
    Route::resource('/info',                'InfoController');
    Route::resource('/log',                 'LogController');
    Route::resource('/loginLog',            'LoginLogController');

    Route::resource('/',                    'HomeController');
});

修改 app/Providers/EventServiceProvider.php 注册 listen

//如果DB_LOG=true,要把这个listen加上,当然,如果不需要打印SQL日志,不需要加上这个配置
protected $listen = [
    'Illuminate\Database\Events\QueryExecuted' => [
    	'App\Listeners\DatabaseEventListener'
    ]
];

nginx参考

server {
    listen       8088;
    server_name  demo.jachohx.com;
    location / {
        index index.php index.html;
        root /var/www/urpm/public/;
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        root   /var/www/urpm/public/;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        include /etc/nginx/fastcgi.conf;
    }
    location ~* \.(css|js|jpg|woff|woff2|png)$ {
        root /var/www/urpm/resources/assets/;
        break;
    }
}

感谢

更新日志

  • v1.0.0
    • 初始化版本

如果你喜欢这个开源项目,记得在右上角点个 star 哦,谢谢:)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].