Php 使用Sentinel通过电子邮件对用户进行身份验证
在Cartalyst Sentinel中有没有办法通过电子邮件/链接/代码对用户进行身份验证 我正在Laravel 5.1中建立一个简单的用户注册,注册后会发送一封激活电子邮件。 通过单击链接,我希望在同一操作中激活和验证用户,但我还没有做到这一点 唯一的方法似乎是传递凭证(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,它要求输入密码(顺便说一句,通过电子邮件发送会有点不安全) 有没有办法做到这一点? 提前谢谢 如果您拥有或可以检索用户对象(无论如何,
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
非常感谢。我曾经试过一次,由于某种原因没有成功,但现在它工作得很好。谢谢