Laravel Auth::attempt 会话过期

Posted

技术标签:

【中文标题】Laravel Auth::attempt 会话过期【英文标题】:Laravel Auth::attempt Expiring session 【发布时间】:2015-01-17 05:04:34 【问题描述】:

我遇到了一个非常奇怪的问题,通过Auth::attempt() 登录后会话过期。

我正在使用以下代码

Route::post('user/auth', function()

    if (Auth::attempt(array('email' => 'email@yahoo.com', 'password' => 'some password','user_status'=>'active')))
    
        $userId = Auth::id();
    

);

每次我运行这个调用 user/auth 时,会话值都会被销毁,并且 laravel 会设置新的令牌。这发生在托管服务器上。在我的本地计算机上,它工作正常。

请帮助我花了 2 天时间找到问题。

我已经设置了解释链接:--

在以下链接中,我使用 Auth::attempt 同时还显示所有会话变量。请注意_token。这是我之前设置的所有会话变量正在被销毁的页面。

http://behungry.co.in/set/session

在下一页我只是调用 Session::all() 来显示所有会话。请在此处检查 _token 变量。他们都是不同的。虽然我希望它们相同并坚持会话。

http://behungry.co.in/get/sessions

以下是我的应用程序/配置/会话文件的内容

'driver' => 'database',
'lifetime' => 120,
'expire_on_close' => false,
'files' => storage_path().'/sessions',
'connection' => null,
'table' => 'sessions',
'lottery' => array(2, 100),
'cookie' => 'laravel_session',
'path' => '/',
'domain' => '',
'secure' => false,

会话在网站的其他部分运行良好。我已经尝试过文件和数据库驱动程序。任何帮助深表感谢。谢谢。

【问题讨论】:

显示您的app/config/session.php 文件。 @TheAlpha 这是我的会话配置文件内容。请注意会话在站点的其余部分运行良好。只有在 Auth::attempt 之前设置的会话变量被破坏。返回数组('驱动程序' => '数据库','生命周期' => 120,'expire_on_close' => false,'文件' => storage_path().'/sessions','连接' => null,'表' => 'sessions', 'lottery' => array(2, 100), 'cookie' => 'laravel_session', 'path' => '/', 'domain' => '', 'secure' => false , 【参考方案1】:

你能用

换个域名吗
'domain' => null,

我在里面解释了https://***.com/a/28774751/2438520

【讨论】:

以上是关于Laravel Auth::attempt 会话过期的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 4 - Auth::attempt() 不工作

laravel restful api 与 Auth

在 Auth::attempt() Laravel 5.1 中禁用重定向

不支持驱动程序 [会话]。在 laravel 5.2 错误?

Laravel Auth::attempt() 可以处理关系吗?

Laravel 5 Auth::attempt() 总是返回 false