首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >还记得我在拉勒维尔和Yii2上工作吗?

还记得我在拉勒维尔和Yii2上工作吗?
EN

Stack Overflow用户
提问于 2016-12-13 12:45:29
回答 2查看 435关注 0票数 1

我安装了两个不同的PHP框架--Laravel5.3Yii2高级。这两个框架都提供即时身份验证,这是很棒的。

并且都有登录页面上的复选框Remember me

在Laravel中,我发现用户表上有一个remember_token字段,根据我的理解,这个字段用于“记住我”特性。

但是,在Yii2 2的用户表上并没有这样的额外字段。

因此,我想两者都提供了相同的特性,但工作方式不同。所以我想知道这个特性在这两个框架上是如何工作的?

任何帮助都将不胜感激。

注意:我问这个问题是因为我有一个用Yii2构建的系统,现在我要用Laravel构建一个新的系统。新的Laravel系统将使用相同的user表的Yii2。意味着用户可以使用相同的凭据登录到两个系统。

谢谢,

Parth vora

EN

回答 2

Stack Overflow用户

发布于 2016-12-13 12:48:42

Yii2有auth_key --它的默认名称,但是您可以定义您自己的列名,然后在identity类中声明它,这个类在getAuthKey()函数中实现了yii\IdentityInterface。

票数 0
EN

Stack Overflow用户

发布于 2016-12-13 13:25:39

Yii 2中的remember me函数(以及大多数php框架)使用基于cookie的登录。

来自文档

getAuthKey()返回一个用于验证基于cookie的登录的密钥。密钥存储在登录cookie中,稍后将与服务器端版本进行比较,以确保登录cookie是有效的。

Yii默认使用auth_key字段。这可能和Laravel的remember_token一样。

它的工作方式如下:

  1. 使用remember me字段登录已选中。
  2. Yii设置一个cookie,其中包含用户的(序列化) idauth_keyduration (表示此cookie的有效期的秒数)。在yii2中,cookie名称由identityCookie数组在config (用户组件)中指定。
  3. 所有来宾的请求都会被检查是否存在cookie,如果它存在并且是有效的,用户将被登录。

这就是基于cookie的登录是如何工作的,所以我假设Laravel使用的是类似的,如果不是完全相同的实现的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41121487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档