2017-04-22 81 views
1

你好家伙我想记住我的复选框,我想将用户信息保存到cookie中,所以下次尝试登录时,他会在他们的字段中找到用户名和密码我尝试使用:记得我的laravel5.2

$rememberMe = false; 

if(isset($req->remember_me)) { 
    $rememberMe = true; 
} 

if(Sentinel::authenticate($req->all(), $rememberMe)) { 
    $slug = Sentinel::getUser()->roles()->first()->slug(); 
} 

的饼干设置,我看到它在Chrome设置,但如我所料

它不会做我使用laravel 5.2

+0

您是否尝试将Cookie的值设置为输入**'value =“{{cookie('email')}}”'**? – linktoahref

回答

0

您可以使用cookie

cookie是从网站发送并在用户浏览该网站时存储在用户的Web浏览器中的一小段数据。每个用户加载网页时,浏览器会将cookie发送回服务器,通知用户的先前活动 的网站创建:

$response->withCookie(Cookie::make('name', 'value', $minutes)); 

要检索

$value = Cookie::get('name'); 

你的问题不记住用户登录..问题是如何根据保存的认证信息填充输入。如果您在加载页面时在输入值属性中打印身份验证值,则可以这样做。

仔饼干文档

而且Laravel有它自己的实现的 “记住我”

if (Auth::attempt(array('email' => $email, 'password' => $password), true)) 
{ 
// The user is being remembered... 
} 

if (Auth::viaRemember()) 
{ 
// 
} 

更多有关https://laravel.com/docs/5.4/authentication#remembering-users

0

有两个主要的事情需要照顾: 1)您必须将一个布尔值作为第二个参数传递给该方法,请确保在将其传递给该方法之前进行转换。 - 在你的代码,它是完美的

$credentials = $req->only('LOGINNAME', 'PASSNAME') 
if(Sentinel::authenticate($credentials , $req->has('remember_me'))){ 
//Other stuff 
} 

2)你可以验证它的工作原理是确保一个cookie设置与关键cartalyst_sentinel

所以先按照1)选项更改,然后检查2)选项,可能是这是你的答案。