标签: cartalyst-sentinel

Laravel 5.2登录会话不会持续存在

我一直在使用Sentinel在Laravel 5.2上实现一个简单的身份验证系统.

// Route : /login
$success = Sentinel::authenticate(array(
   'email'    => $email,
   'password' => $password,
));

echo $success ? 'Login success' : 'Login failed';
Run Code Online (Sandbox Code Playgroud)

因此,上述代码Login success在验证码之后输出.但是,登录状态不会持久保存到其他请求.即:如果我从其他请求检查身份验证状态,则表示我没有登录!

// Route : test-login
echo \Sentinel::check() ? 'User is logged in' : 'User is not logged in';
Run Code Online (Sandbox Code Playgroud)

我甚至尝试过使用defaut laravel authencation \Auth::attempt.但是,这也给了同样的东西.

非常感谢任何帮助.

php laravel laravel-5 cartalyst-sentinel laravel-5.2

10
推荐指数
1
解决办法
6060
查看次数

Laravel Cartalyst Sentinel - 向用户表添加用户名列(正确的方法)

我已经进入了cartalyst/sentinel,并且我已经运行了生成表所需的迁移

php artisan migrate --package=cartalyst/sentinel
Run Code Online (Sandbox Code Playgroud)

我注意到这些是users表中可用的列

  1. ID
  2. 电子邮件
  3. 密码
  4. 权限
  5. 上次登录
  6. 名字
  7. created_at
  8. 的updated_at

我想在电子邮件后添加用户名.所以我创建了一个迁移文件.

//add a column username after email in the users table
$table->string('username')->after('email')->unique();
Run Code Online (Sandbox Code Playgroud)

现在我使用Sentinel :: register

$credentials = Input::all();
$user = Sentinel::register($credentials);
Run Code Online (Sandbox Code Playgroud)

用户名不会保存在表格中.所以我设法通过编辑vendor/cartalyst/sentinel/src/Users/EloquentUser.php来获取它.

protected $fillable = [
    'email',
    'username', /* i added this */
    'password',
    'last_name',
    'first_name',
    'permissions',
];
Run Code Online (Sandbox Code Playgroud)

现在这个工作,用户名存储在表中.但我想知道我在做什么是对的?我们不应该触摸packages文件夹中的文件.我们如何解决这个问题?

php acl laravel cartalyst-sentinel

7
推荐指数
1
解决办法
5863
查看次数

Laravel:获得Sentinel身份验证以进行注册,登录等简单问题

一种安装的Sentinel(我说有点因为我不明白一个部分说:

Sentinel附带了illuminate/database的默认实现,为了使用它,请确保在composer.json文件中需要它.

//导入必要的类

use Cartalyst\Sentinel\Native\Facades\Sentinel;
use Illuminate\Database\Capsule\Manager as Capsule;
Run Code Online (Sandbox Code Playgroud)

//包括作曲家自动加载文件

require 'vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

问题1:我在哪里写代码?

问题2:我现在最关心的是如何制作一些关于注册,激活等的内容.我本来希望创建一个链接,发送到你的电子邮件,点击它就可以激活它.但我能看到的就是:

$credentials = [
    'email'    => 'john.doe@example.com',
    'password' => 'password',
];

$user = Sentinel::register($credentials);

or if Also activate:

$credentials = [
    'email'    => 'john.doe@example.com',
    'password' => 'password',
];

$user = Sentinel::registerAndActivate($credentials);
Run Code Online (Sandbox Code Playgroud)

当我得到输入时,我应该在Controller中写这个?那电子邮件激活怎么样?

laravel-5 cartalyst-sentinel

7
推荐指数
2
解决办法
1万
查看次数

获取所有与角色相关的Sentinel用户

如何通过Sentinel获取与用户角色相关的所有用户?以及如何让Sentinel中的所有用户使用?这不起作用:

Sentinel::all()
Run Code Online (Sandbox Code Playgroud)

laravel cartalyst-sentinel

3
推荐指数
1
解决办法
3643
查看次数

标签 统计

cartalyst-sentinel ×4

laravel ×3

laravel-5 ×2

php ×2

acl ×1

laravel-5.2 ×1