我正在尝试了解有关 Slim PHP 中 Cartalyst Sentinel 的更多信息,以进行用户注册和身份验证。我有点超出我的深度,因为我过去没有尝试过这种类型的事情。
我一直在关注本教程,了解如何在 Slim 中实现 Sentinel:
我已经按照说明进行了所有工作,但是现在我想开始进行一些更改,以要求在注册过程中捕获更多数据;用户名、出生日期、国家选择。
我在 users 表中添加了附加列,并添加了所需的表单字段并更新了控制器中的代码:
$user = $app->container->sentinel->create([
'first_name' => $data['firstname'],
'last_name' => $data['lastname'],
'username' => $data['username'],
'dob' => $data['dob'],
'country' => $data['country'],
'email' => $data['email'],
'password' => $data['password'],
'permissions' => [
'user.delete' => false,
],
]);
但是,没有额外的数据存储在数据库表中。从 Naomi Aro 对以下链接的进一步阅读看来,我需要更新用户模型,我已经完成了,但不相信我做得正确!
namespace app\models\Users;
use Cartalyst\Sentinel\Users\EloquentUser as SentinelUser;
class Users extends SentinelUser
protected $fillable = [
'email',
'username',
'dob',
'country',
'password',
'last_name',
'first_name',
'permissions',
];
protected $loginNames = ['email', 'username'];
我在 index.php 文件中需要我的模型,但它似乎没有被拾取,所以我假设我没有用 Sentinel 正确实现它?
$app = new \Slim\Slim(array(
'users' => [
'model' => 'app/models/Users',
]
));
我还发现这篇文章处理了同样的问题,但它是特定于 Laravel 的。
Laravel Cartalyst Sentinel - 向用户表添加用户名列(正确的方法是什么)
我不确定如何进行,有没有人有任何想法或建议?
谢谢!!