[英]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.