是否可以创建一些用户,如果用户未经过身份验证,将自动包含在其中?例如,如果我调用控制器中的$request->user()
,我将得到NULL
。我想在这种情况下获得一些默认的用户模型(可能是App' user的id == 0的实例).我需要它,因为我想通过委托模块附加一些角色和权限给来宾用户。
您可以添加一个简单的中间件,如果用户未经过身份验证,则将其身份验证为Guest用户。下面的代码应该可以达到这个效果:
class LoginAsGuest {
public function handle($request, Closure $next)
{
if (!Auth::id()) {
Auth::loginUsingId($guestUserId);
}
}
}
确保此中间件最后运行,以便用户有机会使用他们的会话/cookie数据进行身份验证。