繁体   English   中英

使用Laravel检查内部数据库中的CAS用户

[英]Checking CAS user in internal database with Laravel

我正在编写Laravel(5.7版,带有dev-master框架)应用程序供学校内部使用,并且正在使用其CAS服务器进行身份验证,但是我想检查用户是否已在我自己的数据库中注册。

我已经使用https://github.com/subfission/cas实现了CAS登录。

我不知道是否应该将CAS与“本地” Laravel auth集成在一起(我什至都​​不知道该怎么做)或编写中间件或类似的东西(也不知道怎么做:P )。

ps:英语不是我的母语,因此请避免出现任何书写错误

好吧,刚刚检查了他们的Wiki ,该死的! 这很简单。 安装软件包后,您需要在$routeMiddlewares属性的末尾向您的app/Http/Kernel.php中添加两个全新的中间件:

protected $routeMiddleware = [
         //snap
        'cas.auth'  => \Subfission\Cas\Middleware\CASAuth::class,
        'cas.guest' => \Subfission\Cas\Middleware\RedirectCASAuthenticated::class,
    ];

好,现在运行php artisan vendor:publish --provider=Subfission\\Cas\\CasServiceProvider以便将cas.php配置文件添加到config文件夹中。 打开它,然后输入您学校的CAS配置。

很好,现在您所需要做的就是在需要进行CAS身份验证时使用cas.auth中间件:

//web.php
Route::get('user/profile','UserController@profile')->middleware('cas.auth');

该中间件仅检查当前用户是否在CAS服务器上登录(继续到控制器)或用户未在CAS服务器上登录(重定向到CAS服务器登录页面并在身份验证成功后重定向回)。

祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM