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

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

$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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 10

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

4年前 评论
wongvio (楼主) 4年前
4年前 评论
wongvio (楼主) 4年前
s51983 (作者) 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年前 评论

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