【发布时间】:2019-08-01 22:25:01
【问题描述】:
我需要登录用户而不将其创建到数据库中。我该怎么做?
我正在使用 PHP 7.3、laravel 5.8 和 Apache2。
我试过这段代码(在阅读this之后):
$user = new \App\User();
$user->password = \Hash::make("superpassword");
$user->email = "email@email.com";
$user->name = "Name";
Auth::setUser( $user );
Auth::login($user);
if (Auth::check()) {
// the user is logged
$request->session()->regenerate();
$request->session()->put('key', 'value');
$request->session()->put('userData', $user);
$request->session()->regenerate();
$request->session()->put('redirectTo', '/home');
return redirect()->intended('/home');
}
在那之后,我做了一个重定向,用户似乎不再登录了。
我希望找到一种方法来记录该用户,而无需将其创建到数据库中。在默认登录页面,必须成功。
(对不起,我的英语不好,我希望我很清楚)
【问题讨论】:
-
为什么我投了反对票?谁能解释我?谢谢大家。
-
如果你想公开某些东西,为什么要把它放在登录后面?
-
我不想公开。我必须对另一个项目进行 api 调用,检查该用户是否存在,然后我要登录
-
好的,那你为什么需要这个东西来伪造登录?无论哪种方式我都不明白。也许其他人会。
-
用户没有退出到这个 laravel 项目,所以如果该用户存在到另一个数据库中(与 laravel 项目无关),我必须找到一种方法来登录。你能建议我另一种方法吗?
标签: php laravel authentication