【问题标题】:Common authentication table between Yii2 advance and Laravel 5.3Yii2 Advance 和 Laravel 5.3 通用认证表
【发布时间】:2016-12-12 14:34:17
【问题描述】:
我已经使用 Yii2 Advance 构建了一个应用程序并且运行良好。
现在,客户的要求是使用 Laravel 5.3 创建新的单独(但与第一个)应用程序,并且这个新系统必须使用相同的 Yii2 数据库。
用户应该能够登录到这两个应用程序。
所以,我很好奇这是否可能?
任何帮助将不胜感激。
谢谢,
帕斯沃拉
【问题讨论】:
标签:
authentication
yii2
laravel-5.3
yii2-advanced-app
【解决方案1】:
终于,我能够实现我想要的。
所以,为了使用 Yii2 的身份验证表登录 Laravel 应用程序,您需要在 Laravel 中执行以下步骤:
-
Yii2 使用“用户”名称作为 auth 表,而 Laravel 使用“用户”。
因此,将其添加到您的用户模型中:
受保护的 $table = "用户";
-
Yii2 使用“password_hash”字段存储用户密码,而 Laravel 使用“password”。
因此,将其添加到您的用户模型中:
public function getAuthPassword()
{
return $this->password_hash;
}
-
Yii2 使用“auth_key”字段来存储用户的记忆令牌,而 Laravel 使用“remember_token”。您还需要将此字段的大小从 32 增加到 100,否则您将在注销时收到错误消息。
因此,将其添加到您的用户模型中:
public function getRememberTokenName()
{
return 'auth_key';
}
您还需要将'auth_key'字段的大小从32增加到100,否则注销时会出错。
-
Yii2 使用“int(11)”作为 created_at 和 updated_at 字段类型,而 Laravel 使用“timestamp”类型。
因此,将其添加到您的用户模型中:
受保护的 $dateFormat = 'U';
希望对某人有所帮助。
谢谢