问题是当我如下创建新用户时,自动分配用户角色。
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password)
]);
我是如何发现这个问题的?
假设角色表有单个记录角色名称“admin”。用户表只有一条记录。
第 1 步:
在角色表“member”中添加了新的角色名称。现在表中有两条记录。
第 2 步:
在用户表中创建第二个用户。
完成上述步骤并检查新用户是否具有角色后,是的用户具有“成员”角色
我不想自动分配角色。如何解决与 spatie laravel 权限包相关的问题?
您可以通过同步来分配/删除用户的角色:
// All current roles will be removed from the user and replaced by the array given
$user->syncRoles([]);
这将删除所创建用户的所有角色。