Laravel 10 集成 spatie 权限包后,自动分配角色

问题描述 投票:0回答:1

问题是当我如下创建新用户时,自动分配用户角色。

$user = User::create([
     'name' => $request->name,
     'email' => $request->email,
     'password' => Hash::make($request->password)
]);

我是如何发现这个问题的?
假设角色表有单个记录角色名称“admin”。用户表只有一条记录。
第 1 步:
在角色表“member”中添加了新的角色名称。现在表中有两条记录。
第 2 步:
在用户表中创建第二个用户。
完成上述步骤并检查新用户是否具有角色后,是的用户具有“成员”角色

我不想自动分配角色。如何解决与 spatie laravel 权限包相关的问题?

laravel user-roles
1个回答
0
投票

您可以通过同步来分配/删除用户的角色:

// All current roles will be removed from the user and replaced by the array given
$user->syncRoles([]);

这将删除所创建用户的所有角色。

© www.soinside.com 2019 - 2024. All rights reserved.