Laravel API 如何使用 Session

没有弄过 Laravel 4.2 的 Api。

现在使用了 https://github.com/dingo/api 框架。

我说一下我的土鳖方法。

专门弄一个接口,可以获取到 Session ID。

然后每次的 Api 都 post 这个 sid (Session ID)

然后每个 Controller 都 set 一下 Session ID。

class ApiBaseController extends Controller
{

    use ControllerTrait;
    use CommanderTrait;

    public function __construct()
    {
        Session::setId(Input::only('session_id'));
    }
}

大家有更好的方法吗?

你们是如何解决的?

写文字大部分时候是因为我希望能帮助到你,小部分时候是想做总结或做记录。我的微信是 lijinma,希望和你交朋友。 以下是我的公众账号,会分享我的学习和成长。
lijinma
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 12
Summer

什么样的应用场景需要保存 session 呢?

9年前 评论
Summer

把验证码存到 Cache, Cache key 是手机号码, 设置过期时间为 30 分钟, 把手机号码存到数据库里作为后续跟踪.

CREATE TABLE `mobiles` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `mobile` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `is_verified` tinyint(1) NOT NULL DEFAULT '0',
  `type` enum('register','reset') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'register',
  `try_count` int(11) NOT NULL DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  KEY `mobiles_mobile_index` (`mobile`),
  KEY `mobiles_is_verified_index` (`is_verified`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
9年前 评论
Summer

Oauth 2.0 API 的 Token 就可以理解为 Session 的标识.

9年前 评论

没有session,请问我想保存图片验证码怎么弄呢

7年前 评论
lijinma

@tangzwgo 使用 token 呗,就是未登录也有 token 的。

7年前 评论

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