Laravel 5.3 手动验证
Laravel 5.3 manual authentication
通过 link (Laravel 5.3)
验证用户
我正在尝试在用户关注特殊 link 时对其进行身份验证。
我通过 link 参数找到用户并像这样验证他
Auth::loginUsingId($client->id);
然后Auth::user()
returns我需要的用户,就可以了。
但是当我尝试访问用户的个人资料页面时,它会将我重定向到 /login
。
如果我使用同一用户的凭据登录浏览器,我可以看到个人资料页面。
似乎它没有将信息保存到会话中。
我错过了什么?
我已经看到,如果您在 Auth::attempt() 之前输出任何内容(与 loginUsingId 相同),它将不起作用。确保在尝试登录之前或之后没有 echo 语句、dd、print 或任何其他内容。但是,这应该适合你:
比如说,对于这个例子,您的 URL 是某个域。com/autoLogin?userid=1
public function autoLogin(Request $request){
$id = $request->userid;
$user = Account::find($id);
Auth::login($user);
}
这将保留会话。
通过 link (Laravel 5.3)
验证用户我正在尝试在用户关注特殊 link 时对其进行身份验证。 我通过 link 参数找到用户并像这样验证他
Auth::loginUsingId($client->id);
然后Auth::user()
returns我需要的用户,就可以了。
但是当我尝试访问用户的个人资料页面时,它会将我重定向到 /login
。
如果我使用同一用户的凭据登录浏览器,我可以看到个人资料页面。 似乎它没有将信息保存到会话中。
我错过了什么?
我已经看到,如果您在 Auth::attempt() 之前输出任何内容(与 loginUsingId 相同),它将不起作用。确保在尝试登录之前或之后没有 echo 语句、dd、print 或任何其他内容。但是,这应该适合你:
比如说,对于这个例子,您的 URL 是某个域。com/autoLogin?userid=1
public function autoLogin(Request $request){
$id = $request->userid;
$user = Account::find($id);
Auth::login($user);
}
这将保留会话。