codexshaper / laravel-permission
Laravel 多重身份验证
v1.7
2022-10-04 04:06 UTC
- dev-master
- v1.7
- v1.6
- v1.5
- v1.4
- v1.3
- v1.2
- v1.1
- v1.0
- v0.9
- v0.8
- v0.6
- v0.5
- v0.4
- v0.3
- v0.2
- v0.1
- dev-dependabot/npm_and_yarn/minimist-and-mkdirp-1.2.8
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/express-4.18.2
- dev-dependabot/npm_and_yarn/qs-and-express-6.11.0
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/loader-utils-and-webpack-cli-1.4.2
- dev-dependabot/npm_and_yarn/eventsource-1.1.1
- dev-dependabot/npm_and_yarn/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/ajv-6.12.6
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/ws-6.2.2
- dev-dependabot/npm_and_yarn/dns-packet-1.3.4
- dev-dependabot/npm_and_yarn/browserslist-4.16.6
- dev-dependabot/npm_and_yarn/lodash-4.17.21
- dev-dependabot/npm_and_yarn/ssri-6.0.2
- dev-dependabot/npm_and_yarn/y18n-4.0.1
- dev-dependabot/npm_and_yarn/elliptic-6.5.4
- dev-dependabot/npm_and_yarn/axios-0.21.1
- dev-dependabot/npm_and_yarn/ini-1.3.7
- dev-dependabot/npm_and_yarn/http-proxy-1.18.1
- dev-dependabot/npm_and_yarn/websocket-extensions-0.1.4
- dev-dependabot/npm_and_yarn/jquery-3.5.0
- dev-dependabot/npm_and_yarn/acorn-6.4.1
This package is auto-updated.
Last update: 2024-08-30 01:17:44 UTC
README
Laravel 多身份验证
安装视频:点击这里或点击下方的图片
注意:在安装和使用此包之前,请运行以下命令
在 Laravel 6.0 版本之前
php artisan make:auth
从 Laravel 6.0 版本开始
1. composer require laravel/ui
2. php artisan ui vue --auth
3. npm install
4. npm run dev
安装包
composer require codexshaper/laravel-permission
通过单个命令发布资源、配置、迁移和数据库种子
php artisan permission:install
或者手动发布资源、配置、迁移和数据库种子
- 发布配置
php artisan vendor:publish --tag=permission.config
- 发布种子
php artisan vendor:publish --tag=permission.seeds
- 迁移数据库
php artisan migrate
- 运行 composer dump autoload
composer dump-autoload
- 种子数据库
php artisan db:seed --class=PermissionDatabaseSeeder
- 添加路由
Route::group(['prefix' => config('permission.prefix'),'middleware'=>['role:admin']], function () {
Permission::routes();
});
将 use CodexShaper\Permission\Traits\HasRoles
或简单地使用 use HasRoles
特性导入到你的 App\User
模型中
namespace App;
use CodexShaper\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
}
检查权限,请访问 /admin/laravel-permission
安装演示
php artisan permission:install:demo
演示网址 /admin/permissions
发布 视图
php artisan permission:publish:views
发布 资源
php artisan permission:publish:resources
要覆盖视图和资源,请更改你的配置文件 /config/permission.php
'resources_path' => 'resources/views/vendor/permissions/assets',
'views' => 'resources/views/vendor/permissions/views',
权限
use CodexShaper\Permission\Models\Permission;
$permission = Permission::create([
'name' => 'Browse',
'slug' => slug('browse'),
'created_at' => now(),
'updated_at' => now(),
]);
给角色赋予权限
// Create Role before set permission
// $roles = [role_slug_or_id] ex: ['admin',1,2,'author']
$permission->givePermissionToRoles( $roles );
更新权限角色
$role_ids = [1,3,5]
$permission->syncPermissionToRoles( $role_ids );
删除权限角色
// Delete specific Roles
$role_ids = [1,3,5];
$permission->revokePermissionsFromRoles( $role_ids );
// Delete all roles for current permission
$permission->revokePermissionsFromRoles();
角色
use CodexShaper\Permission\Models\Role;
$admin = Role::create([
'name' => 'Super Admin',
'slug' => 'admin',
'created_at' => now(),
'updated_at' => now(),
]);
分配权限
$admin->assignPermissions([
'browse',
'read',
'edit',
'add',
'delete'
]);
更新权限
$permission_ids = [1,3,5]
$admin->syncPermissions( $permission_ids );
删除权限
// Delete specific Permissions
$permission_ids = [1,3,5];
$admin->revokePermissions( $permission_ids );
// Delete all roles for current roles
$admin->revokePermissions();
检查权限
$admin->hasPermission( $permission_slug );
用户
use App\User;
$user = new User;
$user->name = 'John Doe';
$user->email = 'john@gmail.com';
$user->password = Hash::make('password');
$user->save();
$user->assignRoles('admin');
将角色分配给现有用户
$user = User::find(1);
$user->assignRoles('admin');
分配多个角色
$user = User::find(1);
// Use pipe(|)
$user->assignRoles('admin|client|customer');
// Or use comma(,)
$user->assignRoles('admin,client,customer');
// Or use space
$user->assignRoles('admin client customer');
// Or Mixed
$user->assignRoles('admin client,customer|write');
// Pass custom separators
$separators = ',.| ';
$user->assignRoles('admin client,customer|write', $separators);
更新角色
$role_ids = [1,2,3];
$user->syncRoles( $role_ids );
删除角色
// Delete specific Roles for current User
$role_ids = [1,3,5];
$user->revokeRoles( $role_ids );
// Delete all roles for current user
$user->revokeRoles();
检查角色
$user->hasRole( $role_slug );
在路由上添加中间件
Route::group(['middleware'=>['role:admin']],function(){
// Routes
});
查看目录
@can('browse')
<p>You Can Browse</p>
@endcan
@role('admin')
<p>You are admin</p>
@endrole
@hasrole('admin')
<p>You have admin Permission</p>
@endhasrole
@haspermission('edit')
<p>You have admin Permission</p>
@endhaspermission
作者
查看参与此项目的贡献者列表。
许可证
- MIT 许可证
- 版权所有 2019 © CodexShaper。