当前位置: 首页 > 知识库问答 >
问题:

Laravel注销,添加侦听器

金成济
2023-03-14

我试图为我们现有的laravel站点(laravel 5.2)的注销功能添加一些逻辑,但它不像登录那样简单。

客户端的现有注销工作正常,但我只想向我的Cognoto实例添加一个调用,以将用户注销他们的Cognoto会话。基本上,当用户单击logout时,我想让他们从网站上注销,就像以前一样,但也要点击我的cognito注销endpoint

我的困惑来自这样一个事实,即auth的现有路由和控制器并不完全匹配。

路线。应用程序编程接口。php

Route::get('logout', 'API\Auth\AuthController@getLogout');

routes.auth.php

Route::get('logout', 'Auth\AuthController@getLogout')
    ->name('auth.logout');

Auth/AuthController。php(在我的构造函数中)

$this->middleware('guest', ['except' => 'getLogout']);

我的注销链接点击了site/logout,它肯定会将用户注销,但我想将我对endpoint的调用放在正确的位置。我还想确保在成功注销时刷新或销毁会话

最近有人告诉我,我可能(也可能应该)为注销事件添加一个侦听器,并在那里进行调用。

在这种情况下,我应该怎么做,它会去哪里?

共有1个答案

范翰飞
2023-03-14

在您的EventServiceProvider中,您可以将侦听器附加到注销事件,并处理侦听器中的所有注销逻辑。

protected $listen = [
    'Illuminate\Auth\Events\Logout' => [
        'App\Listeners\LogSuccessfulLogout',
    ],
];

然后,您可以在App\Listeners中创建日志成功输出侦听器:

    namespace App\Listeners;
    use Illuminate\Auth\Events\Logout;

    class LogSuccessfulLogout
    {
        /**
         * Create the event listener.
         *
         * @return void
         */
        public function __construct()
        {
            //
        }

        /**
         * Handle the event.
         *
         * @param  Logout  $event
         * @return void
         */
        public function handle(Logout $event)
        {
            // Do your logic
        }
    }

资料来源:https://laravel.com/docs/5.2/authentication#events

 类似资料:
  • 问题内容: 我有一个ArrayList,它向其中动态添加了一些对象,并且有一个JButton。运行我的程序时ArrayList为空,并且JButton设置为setEnabled(false)。我想在ArrayList中有2个或更多元素时启用我的按钮,如果ArrayList有一项或为空则再次禁用它。我该如何实现? 问题答案: 没有任何种类的通知机制。 我建议您编写自己的实现,该实现将委托给私有的实现

  • 我的代码使用jQuery。我有一个密码输入框,我想要得到输入的密码任何时候。 下面是我的代码: 我确信这是一个正确的代码,因为当我在浏览器的控制台中输入它时,它可以工作,但当我重新加载页面时,它就不工作了 我能做什么?

  • 我可以在下面的代码中为添加事件侦听器,但不能添加到。 是不是因为twitter做了一些事情不让我这么做?有办法绕过它吗?

  • 问题内容: 我正在尝试将鼠标侦听器添加到MapMarker,以便当鼠标将鼠标悬停在MapMarker上时,我可以对事件做出反应。 我实现了mouseListener,但是我不能真正添加​​一个监听器。问题是由于没有层次结构实现JPanel,所以我没有找到MapMarker添加addMouseListener的方法。 任何帮助表示赞赏 问题答案: 如前所述这里,默认的构造函数使用了“这实现了Map按

  • 问题内容: 我有一个简单的GUI: 我想打印出此消息: 当GUI关闭时(按X时)。我怎样才能做到这一点? 问题答案: 试试这个。

  • 我有一个JPA(Hibernate)项目,其中包含从XML orm.XML和Beans创建的实体,我有一个EntityManager和update、persist、remove、findById、findAll方法,但我需要添加一个过滤器监听器来检查保存、还原等之前和之后的Beans(我需要将一些值设置为null以返回客户机) 问候。