Php 使用Sentinel通过电子邮件对用户进行身份验证

Php 使用Sentinel通过电子邮件对用户进行身份验证,php,laravel,acl,laravel-5.1,cartalyst-sentinel,Php,Laravel,Acl,Laravel 5.1,Cartalyst Sentinel,在Cartalyst Sentinel中有没有办法通过电子邮件/链接/代码对用户进行身份验证 我正在Laravel 5.1中建立一个简单的用户注册,注册后会发送一封激活电子邮件。 通过单击链接,我希望在同一操作中激活和验证用户,但我还没有做到这一点 唯一的方法似乎是传递凭证(Sentinel::($credentials)),但我只有激活所需的$code和$id,它要求输入密码(顺便说一句,通过电子邮件发送会有点不安全) 有没有办法做到这一点? 提前谢谢 如果您拥有或可以检索用户对象(无论如何,

在Cartalyst Sentinel中有没有办法通过电子邮件/链接/代码对用户进行身份验证

我正在Laravel 5.1中建立一个简单的用户注册,注册后会发送一封激活电子邮件。 通过单击链接,我希望在同一操作中激活和验证用户,但我还没有做到这一点

唯一的方法似乎是传递凭证(
Sentinel::($credentials)
),但我只有激活所需的
$code
$id
,它要求输入密码(顺便说一句,通过电子邮件发送会有点不安全)

有没有办法做到这一点?
提前谢谢

如果您拥有或可以检索用户对象(无论如何,您都需要完成用户激活),那么您可以使用登录用户而不使用其凭据

$user = Sentinel::findById($id);

Sentinel::login($user);
整个过程应该是这样的:

$user = Sentinel::findById($id);

if ( ! Activation::complete($user, $activationCode))
{
    // ERROR - Invalid or expired activation code.
}

// Login the User
Sentinel::login($user);

// Redirect to where you want to take them

非常感谢。我曾经试过一次,由于某种原因没有成功,但现在它工作得很好。谢谢