ramiawadallah / laraboom-multiauth
Laravel 多认证管理包
Requires (Dev)
- fzaninotto/faker: ^1.9@dev
- illuminate/support: ^5.8@dev
- laravelcollective/html: ^5.4.0
- mockery/mockery: ^1.0@dev
- orchestra/database: ^3.8@dev
- orchestra/testbench: ^3.8@dev
- phpunit/phpunit: ^7.4@dev
This package is auto-updated.
Last update: 2024-09-17 00:05:22 UTC
README
- Laravel: 5.6/5.7
- 作者: Ramiawadallah
- 作者主页: https://ramiawadallah.com
版本说明
5.6 和 5.7
安装
通过 composer 安装。
composer require ramiawadallah/laraboom-multiauth
在继续之前:您可以进行正常的认证,请查看此文档
发布迁移
php artisan vendor:publish --tag="multiauth:migrations"
运行迁移以在数据库中创建表。
php artisan migrate
注意事项
如果您已向 admin 迁移中添加了新列,则您需要使用上述命令生成第一个超级管理员。
php artisan vendor:publish --tag="multiauth:factories"
第一个管理员
显然,第一次您至少需要一个超级管理员进行登录并创建其他管理员。
php artisan multiauth:seed --role=super
现在您可以通过访问https://:8000/admin,使用邮箱 email = super@admin.com 和密码 password = secret 来登录管理员端。显然,您以后可以更改这些信息。
注册新管理员
要注册新用户,您需要访问https://:8000/admin/register。
请注意,只有超级管理员可以创建新的管理员。
更改管理员视图
您可以将包视图文件发布并覆盖您自己的文件,以便您可以使用符合项目设计的视图。
php artisan vendor:publish --tag="multiauth:views"
验证
是的,您可以通过发布配置文件来编写新的验证规则或更改现有的验证规则。
php artisan vendor:publish --tag="multiauth:config"
更改前缀
您可以在刚刚发布的配置文件中更改前缀。我们所说的前缀是指您希望如何称呼您的管理端,我们称之为 admin,您可以称之为任何您想要的名字。假设您将前缀更改为 'master',现在所有地方的 'admin' 字都将更改为 'master'。
/* |-------------------------------------------------------------------------- | Prefix |-------------------------------------------------------------------------- | | Use prefix to before the routes of multiauth package. | This way you can keep your admin page secure. | Default : admin */ 'prefix' => 'admin', // can change it to, lets say 'prefix' => 'master'
创建角色
要创建新的角色,您有两个选项
- 使用 artisan 命令
php artisan multiauth:role rolename
- 使用接口,只需访问https://:8000/admin/role。
现在您可以点击“添加角色”按钮来创建新角色。
使用相同的界面也可以编辑或删除角色
发布路由文件
php artisan vendor:publish --tag="multiauth:routes"
访问级别
使用中间件
- 您可以使用 'role' 中间件允许不同角色的管理员根据其角色访问特定的部分。
Route::get('admin/check',function(){ return "This route can only be accessed by admin with role of Editor" })->middleware('role:editor');
这里,无论您提供的角色是大写、小写还是混合格式,此包都会处理所有这些。
- 如果您希望某个部分只能由超级用户访问,则使用 role:super 中间件。超级管理员可以访问所有低级角色部分。
Route::get('admin/check',function(){ return "This route can only be accessed by super admin" })->middleware('role:super');
使用 Blade 语法
您可以使用 blade 语法来显示或隐藏具有特定角色的任何部分。例如,如果您想为具有编辑角色的管理员显示一个按钮,则编写如下。
@admin('editor') <button>Only For Editor</button> @endadmin
如果您想添加多个角色,可以这样做。
@admin('editor,publisher,any_role') <button> This is visible to admin with all these role</button> @endadmin
另一个认证
除了管理端之外,您还可以创建另一个认证
php artisan multiauth:make {guard}
如果您想,您也可以回滚此认证。
php artisan multiauth:rollback {guard}