如何让用户一直保持登录呢?

请问我要怎么设置让用户可以一直保持登录,直到用户自己手动退出呢?我的代码如下:

$user = User::where('cellphone', $verifArray['cellphone'])->first();

            if ($user) {
                Auth::login($user);
                // return redirect()->intended($fallback);
                return response()->json(['info' => 'login']);
            } else {
                $user = User::create([
                    'cellphone' => $verifArray['cellphone'],
                ]);
                Auth::login($user);
                return response()->json(['info' => 'creat']);
            }

我目前的代码是,用手机验证码登录,没有密码,验证通过如果匹配到一样的手机号,就登录,没有的话就新建一个用户,我看网上说用Auth::attempt可以实现我想要的功能?我试了一下,不行啊,大家有没有别的办法?

或者说,我是应该直接修改laravel的配置文件,还是php.ini

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 10
4年前 评论
wongvio (楼主) 4年前
s51983 (作者) 4年前

归根结底就是修改 token/session 有效期

4年前 评论
wongvio (楼主) 4年前

我觉得 你可以 做cookie 本地存储 如果他清了缓存就重新验证 然后 你也可以利用 redis 缓存用户的信息 给这个redis一个 有效时间 半年 如果用户点了退出 那么 删除对应用户的redis和本地cookie 如果你是没有用redis。只是用了session。你需要修改 session的过期时间 你每个用户应该都有一个唯一的session吧。修改对应用户的session过期时间就行了吧 没必要改php.ini 跟 laravel的 配置吧

4年前 评论

file

我记得文档是这样写的,就记住了用户。

你写的代码有点冗余


        $msg = ['info' => 'login'];
        if (!$user) {
            $user        = User::create([
                'cellphone' => $verifArray['cellphone'],
            ]);
            $msg['info'] = 'create';
        }
        Auth::login($user);
        return response()->json($msg);

你看这样会不会感觉好一点

4年前 评论
wongvio (楼主) 4年前

attempt() 在你的需求中不太合适,应为 参数是用户名和密码, 如果密码错了(或根本不知道是否存在 用户名)你都不知道,还是要先判断。不如Auth::login() 这样是在

4年前 评论

laravel不是提供现成的方案了么。。

记住用户 许多 web 应用程序在其登录窗体上提供 「记住我」 复选框。如果希望在应用程序中提供 「记住我」 功能,可以将布尔值作为第二个参数传递给 attempt 方法。

当此值为 true 时,Laravel 将无限期地对用户进行身份验证,或者直到用户手动注销。 users 表必须包含字符串 remember_token 列,该列将用于存储 「记住我」 标记。新的 Laravel 应用程序中包含的 users 表迁移文件已经包含此列:

use Illuminate\Support\Facades\Auth;

if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) { // 正在为该用户执行记住我操作 ... }

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!