首先,我以用户X身份登录,我的功能如下:
public function loginAs($userId)
{
Auth::loginUsingId($userId); // now use Y user
return response()->json(['logged' => Auth::check(), 'user' => Auth::user()]);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试打印出来时Auth::check()它返回TRUE,这是好的到目前为止我现在以用户Y身份登录,事情是我首先以X用户身份登录然后切换到另一个Y用户但是当我打电话给其他一些functoins时似乎记录的当前用户仍然是X,我想成为当前用户登录的Y ...这可能需要对会话做一些事情或者我不确切知道如何做这件事,如果有人有任何感激会很感激在Laravel 5中如何实现或完成任何想法.
你能详细说明一下吗?我可以使用以下命令切换用户:
use Auth;
class TempController extends Controller
{
public function index() {
$user = User::find(1);
Auth::login($user);
var_dump(Auth::user()->id); // returns 1
Auth::logout();
var_dump(Auth::user()); // returns null
$user = User::find(2);
Auth::login($user);
var_dump(Auth::user()->id); // returns 2
Auth::logout();
}
}
Run Code Online (Sandbox Code Playgroud)
路线.php
Route::get('/temp', 'TempController@index');
Run Code Online (Sandbox Code Playgroud)
如果运行此命令,您可以看到登录用户的 ID 发生变化。