laravel学习-安装entrust和l5-repository2个基本依赖

来源:互联网 发布:短信群发网站程序源码 编辑:程序博客网 时间:2024/04/30 08:06
1.安装 'l5-repository':直接参照github文档:https://github.com/andersao/l5-repository1>composer require prettus/l5-repository2>vim config/app.php给 'providers' 元素,添加 'Prettus\Repository\Providers\RepositoryServiceProvider::class,'3>php artisan vendor:publish在 config/ 下,生成一个 'repository.php' 的配置文件4>安装 'league/fractal',l5-repository的presenter可能需要https://packagist.org/packages/leagua/fractal - 官方镜像包介绍composer require league/fractal - 进行安装5>vim repository.php我们配置命令的生成器:    'generator'  => [        'basePath'      => app_path(),        'rootNamespace' => 'App\\',        'paths'         => [            'models'       => 'Models',            'repositories' => 'Repositories',            'interfaces'   => 'Repositories',            'transformers' => 'Transformers',            'presenters'   => 'Presenters',            // 'validators'   => 'Validators',            // 'controllers'  => 'Http/Controllers',            // 'provider'     => 'RepositoryServiceProvider',            // 'criteria'     => 'Criteria',            // 'stubsOverridePath' => app_path()        ]    ]这个只是针对生成的目录进行配置,不想生成这些文件,还不行6>l5-repository的相关的一些命令:php artisan make:entity Post - 有提示,需要生成哪些文件,yes | nophp artisan make:repository "Blog\Post" - 只生成repository,会生成 'model/repository/migration'php artisan make:transformer Post - 生成 transformersphp artisan make:presenter Post - 生成 presenters// 这2个使用较少php artisan make:bindings Post - 会生成 'repositoryProviderServer.php',并绑定一个post相关的服务php artisan make:criteria My - 生成 MyCriteria2.安装 'Zizaco/entrust'直接参照github文档:https://github.com/Zizaco/entrust中文相关资料:http://laravelacademy.org/post/3755.htmlhttp://laravelacademy.org/post/3761.html1>composer require zizaco/entrust 5.2.x-dev2>vim config/app.php1)给 'providers' 元素,添加 'Zizaco\Entrust\EntrustServiceProvider::class,'2)给 'aliases' 元素,添加 ''Entrust' => Zizaco\Entrust\EntrustFacade::class,'3>php artisan vendor:publish在 config/ 下,生成一个 'entrust.php' 的配置文件4>vim config/auth.php,可添加 '用户认证' 配置:假设我们需要验证的是后台用户表 'admin_users':'guards' 元素:        'admin' => [            'driver' => 'session',            'provider' => 'admin_users',        ],'providers' 元素:        'admin_users' => [            'driver' => 'eloquent',            'model' => App\Models\AdminUser::class,            'table' => 'admin_users',        ],    'passwords' 元素:        'admin_users' => [            'provider' => 'admin_users',            'email' => 'auth.emails.password',            'table' => 'admin_password_resets',            'expire' => 60,        ],5>vim app/Http/Kernel.php给 'routeMiddleware' 数组,添加 'entrust' 自带的中间件:'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,6>生成迁移数据表:这里我们需要进行配置:config/entrust.php 进行RBAC权限表的配置。php artisan entrust:migration - 根据我们的entrust.php的配置,生成迁移的数据表语句7>创建真实数据表(暂不执行):php artisan migrate3.安装的RBAC后台权限认证,是没有用户表的,所以我们还得创建 'admin_users' 数据表,以及模仿laravel自带的Auth前台认证。1>参阅laravel的Auth用户认证文档:http://laravelacademy.org/post/3074.html快速配置出前台用户认证:1)php artisan make:auth - 生成一堆文件,以及添加视图:2)vim app/Http/Controllers/Auth/AuthController.phpprotected $redirectTo = '/home';// 默认是 '/',登录认证成功后的跳转地址3)php artisan migrate - 生成Auth认证相关数据表(暂不执行,因为一旦执行,会生成所有的数据表)就可访问前端页面,登录、注册、忘记密码等页面。2>我们搭建后台认证可查看项目源码,模仿 admin_users 后台用户认证:https://github.com/yuansir/laravel5-rbac-example/*模仿 'laravel5-rbac-example' 项目进行修改: */1.数据库相关:1>找到我们项目中的 database/migrations/xx_entrust_setup_table.php,对照 'laravel5-rbac-example' 的database/migrations/的 'xx_entrust_base.php' 和 'xx_entrust_pivot_admin_user_role.php' 进行比对。我们修改成我们自己想要的后台一些字段!2>admin_users数据表和忘记密码表创建2个迁移记录:php artisan make:migration create_admin_users_tablephp artisan make:migration create_admin_password_resets_table编辑2个迁移记录:xx_create_admin_users_table.phpxx_create_admin_password_resets_table.php2.开始搞admin_users相关内容:1>控制器:app/Http/Controllers/Admin2>中间件:app/Http/Middleware/AuthenticateAdmin.phpphp artisan make:middleware AuthenticateAdmin编辑进行修改3>Kernel.php - 将上面的admin相关的中间件,得注册到 中间件配置文件中vim Kernel.php,在 $routeMiddleware 数组中,添加:'auth.admin' => \App\Http\Middleware\AuthenticateAdmin::class,4>表单请求验证:app/Http/Requests/5>routes.php - 添加后台所有相关的路由6>后台所有相关的 'Model',我们定的目录为 'app/Models/'7>后台模板:resources/views/admin8>public:存放后台静态文件,图片、js、css--------9>复制l5-repository依赖相关目录,这个也是需要的:app/Repositoriesapp/Presentersapp/Transformers10>对复制过来的各个东西进行修改

0 0
原创粉丝点击