Php Laravel 5.3记住我的授权问题
我已经在我的laravel 5.3项目中实现了“记住我”登录,但是我运行时遇到了一些问题,当用户返回页面时,它会自动登录,但由于会话已过期,因此没有设置自定义会话变量 我的会话生命周期为120,并在关闭时过期 我的问题是:如何检查用户是否通过RememberMe令牌进行身份验证以重新设计会话变量?我正考虑为此创建一个中间件,但我不知道这是否是正确的方法 我的客户会话变量是:Php Laravel 5.3记住我的授权问题,php,laravel,authentication,laravel-5.3,Php,Laravel,Authentication,Laravel 5.3,我已经在我的laravel 5.3项目中实现了“记住我”登录,但是我运行时遇到了一些问题,当用户返回页面时,它会自动登录,但由于会话已过期,因此没有设置自定义会话变量 我的会话生命周期为120,并在关闭时过期 我的问题是:如何检查用户是否通过RememberMe令牌进行身份验证以重新设计会话变量?我正考虑为此创建一个中间件,但我不知道这是否是正确的方法 我的客户会话变量是: session()->get('client_id') -> int session()->get('a
session()->get('client_id') -> int
session()->get('acl') -> array
有人能给我指引正确的方向吗?检查下面的解决方案,看看它是否有效 编辑: 将事件侦听器添加到
EventServiceProvider
protected $listen = [
'Illuminate\Auth\Events\Login' => [
'App\Listeners\UpdateLoginType@handle',
],
];
为侦听器生成事件和处理程序
php artisan event:generate
转到UpdateLoginType
并编辑handle
方法以检查登录类型
public function handle(Login $event)
{
if (\Auth::viaRemember()) {
//do something
} else {
//do something else
}
}
确保登录时正确传递记住
变量
问题类似于我知道函数vialember(),但无论我做什么,它总是返回false,它总是false,但我的问题是在哪里使用它?@Galfau-answer编辑。你能试试看它是否工作吗?它工作得很好,作为一个事件,我刚刚将session()-set()逻辑从AuthController@login现在我不需要使用Auth::vialemember(),因为Laravel总是在成功登录时抛出该事件。谢谢顺便说一句,只有当用户返回页面并使用memory\u me\u令牌cookie进行身份验证时,vialemember()方法才会返回true,而不是当用户检查登录页面上的memory me框时,我看到很多人说它总是返回false,正因为如此。