我目前正在尝试为任何来宾分配“来宾”角色,以便他们可以拥有权限。我目前有以下代码,它是一些中间件的一部分,这似乎是错误的地方,我认为有一个更好的地方,我尝试使用服务提供商,但是我无法附加团体
if($this->auth->guest())
{
$user = new User();
$user->username = 'Guest';
$role = Role::where('name', '=', 'guest')
->with('perms')
->first();
$user->perms = new Collection();
$user->perms->add($role);
$perms = explode('|', $permissions);
foreach($user->perms as $p) {
foreach($p->perms as $pp) {
foreach($perms as $perm) {
if($perm === $pp->name)
return $next($request);
}
}
}
}
正如您所看到的,这是非常特定于中间件的,理想情况下,我想在第一个可能的实例中攻击该角色,以便它可以在应用程序的任何部分中使用