登录
首页 >  数据库 >  MySQL

laravel5.1 -- 获取用户的登录状态,事件、监听、中间件的简单应用

来源:SegmentFault

时间:2023-02-16 15:19:56 479浏览 收藏

哈喽!今天心血来潮给大家带来了《laravel5.1 -- 获取用户的登录状态,事件、监听、中间件的简单应用》,想必大家应该对数据库都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到MySQL、PHP、github、laravel、apache,若是你正在学习数据库,千万别错过这篇文章~希望能帮助到你!

事件存在很多方面,比如登录、购买商品、搜索、查看文章等等。 监听器监听到事件发生后,会执行一些操作。

protected $listen = [
    'App\Events\LoginEvent' => ['App\Listeners\LoginSuccess'],
    'App\Events\LogoutEvent' => ['App\Listeners\LogoutSuccess'],
    'App\Events\UserAccess' => ['App\Listeners\UserAccess']
];

然后,在根目录下执行

statut = new Statut;
    }
}
?>

statut->setLoginStatut($event);
    }
}

put('statut', auth()->user()->role->slug);//auth()->user()在用户登录完成后才会有值
    }

    /**
    * Set visitor statut
    *
    * @return void
    */
    public function setVisitorStatut(){
        session()->put('statut', 'visitor');
    }

    /**
    * Set the statut
    *
    * @return void
    */
    public function setStatut(){
        if(!session()->has('statut')){
            session()->put('statut', auth()->check() ? auth()->user()->role->slug : 'visitor');
        }
    }
}
?>

好了,事件和监听器完成之后,就需要触发操作了,这里我们用中间件(

最后,再将

完成上面的操作后,就可以获取用户的登录状态了。在

Statut.php
中,我们把用户状态分为
visitor
admin
,
user
,根据登录用户的不同状态来显示出不同的内容。例如,如果是
admin
,则他可以进入后台并执行一些操作,如果是
user
或者
visitor
,那么他只能浏览一些页面

总结:

了解自己想要做什么,达到什么样的目的,操作的过程中,思路应清晰。


以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表