我使用的是Laravel 5.5中的手动登录功能.无法登录.判断所有(5个相关的)堆栈链接,没有发现任何线索.

Achievement is用户注册后,自动登录该用户.


Error is

"类型错误:传递给Illumb\Auth\SessionGuard::login()的参数1必须实现接口Illumb\Contracts\Auth\Authenticatable,字符串给定,在第294行的Server/vendor/laravel/framework/src/illumb/Auth/AuthManager.php中调用◀"

if ($validator->fails()) {

//            $messages = $validator->messages();

            return Redirect::to('register')
                ->withErrors($validator)
                ->withInput();

        } else {

            $email = Input::get('email');
            $user = new user;
            $user->name     = Input::get('name');
            $user->email    = Input::get('email');
            $user->password = Hash::make(Input::get('password'));

            $user->save();
//            $userMail = $user->find($email);
            $userMail = User::where('email','=',$email)->first();
            Auth::login($userMail->email, TRUE);

am i doing anything wrong. Please guide me.

推荐答案

登录函数需要类型为Authenticatable的用户,而您刚才给出的是email(这是字符串),这就是为什么会出现此错误,请使用Auth::loginUsingId($id);

 $user = User::where('email','=',$email)->first();
 Auth::loginUsingId($user->id, TRUE);

或者只是

Auth::login($user);

Laravel相关问答推荐

laravel如何在Blade 模板中将元素添加到数组

在Laravel中URL中添加保护ID

如何在数据来自Rest API的flutter中创建下拉类别名称列表?

不能在 laravel 中使用控制器名称,必须使用命名空间

向 Laravel 模型查询添加计算字段

FileViewFinder.php 第 137 行中的 Laravel 5 InvalidArgumentException:未找到视图 [.admin]

Laravel + SQLite = SQLSTATE[HY000]一般错误:8次try 写入只读数据库

Lumen 中的自定义 404 页面

Lumen和 MongoDB?

Homestead 2.0 多个站点,都链接到同一个 url

从 sqlite DB 登录 Laravel,得到PDOException 找不到驱动程序

如何在 Eloquent 上设置条件关系

为什么客户凭证应该与 Laravel Passport 中的用户相关联?

如何在 Laravel 5.1 中为Electron邮件添加标题

如何将对象(模型类型对象)插入到 Laravel 中特定索引号的集合对象中?

如何在 Laravel 视图中找到当前语言?

如何在 Laravel 中正确安装软件包?

Eloquent的 attach/detach/sync 触发任何事件?

错误:找不到模块 'webpack/lib/rules/DescriptionDataMatcherRulePlugin' 需要堆栈:

你如何在 Laravel 5.3 的新通知服务生成的Electron邮件中添加图像?