jameron / regulator
身份验证和角色/权限管理器
2.4.8
2018-01-31 00:50 UTC
- dev-master
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.9
- 2.3.8
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-09-27 20:10:32 UTC
README
此包已构建以与 Laravel 5.4.33 及更高版本一起使用。(某些较旧版本的 Laravel 可能不兼容。)
此包包含可用于您项目的函数和方法,并且您可以选择使用视图来改进您的用户体验。如果您正在使用管理视图,请确保您还要求在此处找到的管理包: 管理包
您的 composer 文件可能如下所示
"jameron/admin": "*", "jameron/regulator": "*",
让我们看看能否在 10 个步骤内让您启动并运行。如果您是从头开始,请首先创建您的 Laravel 应用程序
composer create-project --prefer-dist laravel/laravel blog
- 将包添加到您的 compose.json 文件
"jameron/regulator": "*",
composer update
**注意:Laravel 5.5+ 用户有自动发现功能,因此您可以忽略步骤 2 和 3
- 更新您的提供者
Jameron\Regulator\RegulatorServiceProvider::class,
- 更新您的外观
'Regulator' => Jameron\Regulator\Facades\RegulatorFacade::class,
- 发布 Sass、js 和配置
php artisan vendor:publish
**注意:选择与 jameron/regulator 包相对应的数字
- 运行您的迁移
**注意:Regulator 包依赖于 Laravel Auth,因此如果您还没有设置,请运行
php artisan make:auth
**注意:从 routes/web.php 中删除 Auth::routes(),Regulator 包已为您包含这些路由。
好的,现在继续迁移
php artisan migrate
如果您遇到此错误
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))```
您需要在您的 AppServiceProvider 中添加此内容
use Illuminate\Support\Facades\Schema; function boot() { Schema::defaultStringLength(191); }
- 用两个角色和一些权限初始化数据库
您可以直接通过命令行调用它,也可以将其添加到您的应用程序的 seeder 文件中
添加到应用程序 seeder
database/seeds/DatabaseSeeder.php
$this->call(\Jameron\Regulator\database\seeds\RegulatorSeeder::class);
通过命令行调用
php artisan db:seed --class=\\Jameron\\Regulator\\database\\seeds\\RegulatorSeeder
- 更新您的 App\User.php
use Jameron\Regulator\Models\Traits\HasRoles; class User extends Authenticatable { use HasRoles;
您还希望这些方法在您的 User 模型上
public function getRoleAttribute() { $roles = []; foreach($this->roles()->get() as $role) { $roles[] = $role->slug; } return implode(',', $roles); } public function getEnabledAttribute() { return ($this->disabled) ? 'no' : 'yes'; }
- 如果您将项目设置为使用数据库会话驱动程序,您可以看到用户是否登录。要设置数据库会话驱动程序
php artisan session:table php artisan migrate
- 订阅登录和注销事件,以更新用户模型上的 last_login 和 last_logout 时间戳。将此添加到 app/Providers/EventServiceProvider。
protected $subscribe = [ \Jameron\Regulator\Listeners\UserEventSubscriber::class, ];
- 更新您的 webpack.mix.js 文件
.js('resources/assets/regulator/js/RegulatorDependencies.js', 'public/js/Regulator.js') .sass('resources/assets/regulator/sass/regulator.scss', 'public/css')
- 确保您已安装 vuex,因为它与角色权限组件一起使用。
npm install vuex --save
- 编译它
npm run dev