lumen 项目根目录_laravel 权限管理系统

说明

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

U(User)用户管理;

R(Role)角色管理;

P(Permission)权限管理;

M(Menu)菜单管理。

框架Demo地址:Demo

Demo账号:admin 密码:123456

特点:

用户管理:

用户可以配置权限

角色管理

角色可以配置用户

角色可以配置权限

权限管理:

不需要在代码上进行权限控制;

在权限管理里可以控制controller类的访问;

权限控制可以控制get/post请求,也可以控制某个方法请求;

权限控制的控制也可以上边两种请求的多种结合,可精确某个一请求的控制。

菜单管理:

菜单可以对应url前缀、controller类;

可以控制哪些角色可以看到;

菜单的位置可以直接通过拖拽排序。

导航

安装要求

Laravel 5.3+

php 5.6.4

composer

获取代码

git clone https://gitee.com/landsss/lab.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,提交成功后跳转到/

提交

列表删除

说明:

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

参数说明:

class : _delete_,有此class,则使用列表数据删除插件

data-url:必填,以post提交此URL,url规则遵循restful

插件使用:

//提交/menu/1请求,且_method=DELETE,提交成功后刷新当前页

删除

代码修改

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

修改 .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', 'LoginController@showLoginForm')->name('login');

Route::post('login', 'LoginController@login');

Route::get('logout', 'LoginController@logout')->name('logout');

Route::post('logout', 'LoginController@logout')->name('logout');

});

//

Route::group(['prefix' => '/', 'middleware' => ['auth', 'permission']], function () {

Route::resource('/menu/tree', 'MenuController@tree');

Route::resource('/menu', 'MenuController');

Route::get('/role/{id}/permission', 'RoleController@permissionEdit');

Route::post('/role/{id}/permission', 'RoleController@permissionStore');

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;

}

}

感谢

更新日志

初始化版本

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值