0

我目前正在开发一个用户可以注册的小型门户网站,但他们也应该能够以访客身份登录。

我试图通过以下代码做到这一点:

 public function registerGuest(){
        $user = User::create([
            'name' => "Gast",
            'firstName' => "Gast",
            'sex' => "gast",
            'password' => bcrypt("pw"),
            'role' => "buyer",
            'templateURL' => "",
            'confirmation_code' => ""
        ]);
        $user->attachRole(2);

        Auth::loginUsingID($user,true);
        return redirect('/home');
    }

在我的 RegisterController 中找到。所以我基本上是在注册一个用户(与他们通常注册的方式相同),但使用简单的密码并且没有输入电子邮件地址。然后我尝试使用该 ID 登录该用户。用户在数据库中创建,但登录不起作用。

有人碰巧知道为什么会这样吗?我该如何解决这个问题?

一个更详细的解释来理解我的想法:用户可以正常注册,输入他们的一些个人数据。但他们也应该能够点击一个按钮,上面写着“以访客身份继续”,它指向上述功能。然后他们像注册用户一样登录,之后也可以注册,保留他们以访客用户身份登录时输入的信息,然后他们可以设置密码?目的:他们可能想先对其进行测试,然后再注册。

有任何想法吗?

4

1 回答 1

2

该函数需要用户 ID,而不是对象:

Auth::loginUsingID($user->id,true);
于 2017-04-24T18:04:16.620 回答