我正在尝试在Slim PHP中了解有关Cartalyst Sentinel的更多信息,以便用户注册和身份验证。我有点超出了我的深度,因为我过去没有尝试过这种类型的东西。
我一直在关注如何在Slim中实现Sentinel的教程:
Removing the Pain of User Authenticaion With 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的进一步阅读,似乎我需要更新用户模型,我已经完成了,但不要相信我做得正确!
Multiple Login Attributes with Sentinel and Laravel
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 - Adding a username column to users table (What is the right way)
我不确定如何继续,有没有人有任何想法或建议?
谢谢!