laravel-停止为未经授权的用户创建/更新laravel会话?

ttcibm8c  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(224)

使用-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服务器内存利用率被完全消耗,因此我想限制会话的创建/更新,以防忘记密码或使用无效凭据。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题