使用-5.4的laravel版本
在laravel中,当未经授权的用户试图登录时,会创建一个单独的会话,我想停止为未经授权的用户创建和更新这个会话值
例如,当用户试图访问https://www.example.com/login 在这种情况下,通过提供错误的凭据来创建/更新会话值。
会话值将为每个请求创建/更新-在laravel中,所有请求都通过kernal.php传递,其中startsession是一个全局包含的中间件。
app/Http/Kernal.php
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\Illuminate\Session\Middleware\StartSession::class,
];
\illuminate\session\middleware\startsession::class-只有一个方法。
/**
* Start the session for the given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\Session\Session
*/
protected function startSession(Request $request)
{
return tap($this->getSession($request), function ($session) use ($request) {
$session->setRequestOnHandler($request);
$session->start();
});
}
它将为每个请求创建一个会话。我想限制会话的创建,以防未经授权的用户尝试“/登录”url&以防忘记密码或使用无效凭据。
这里,会话驱动程序,我们用它作为redis服务器
SESSION_DRIVER=redis
由于会话是为每个请求创建的-redis服务器内存利用率被完全消耗,因此我想限制会话的创建/更新,以防忘记密码或使用无效凭据。
暂无答案!
目前还没有任何答案,快来回答吧!