Auth在Laravel Tinker工作

ajo*_*jon 7 laravel laravel-5 laravel-5.3 tinker

从Tinker内部我想:

>>> Auth::loginUsingId(12);
=> false
>>> Auth::user();
=> null
>>> Auth::attempt(['email' => 'my@email.com']);
=> false
Run Code Online (Sandbox Code Playgroud)

我猜测,因为Auth通常使用会话数据,也许会话不适用于修补程序.

是否可以在修补程序中进行身份验证?

Ale*_*nin 16

可以登录Tinker.例如:

auth()->loginUsingId(1)
auth()->id()
Run Code Online (Sandbox Code Playgroud)

通常,输出auth()->id()将是1.

如果它不适合您,请确保该storage目录是可写的:

sudo chmod -R 755 storage
Run Code Online (Sandbox Code Playgroud)

当你使用这个attempt()方法时,你也做错了.正确的语法是:

attempt(['email' => 'my@email.com', 'password' => 'secret'])
Run Code Online (Sandbox Code Playgroud)

  • `Auth::loginUsingId()` 在 Laravel 8 中对我有用 (2认同)