php – Laravel 5.2多API认证与API保护使用错误的表
发布时间:2020-12-14 19:41:40 所属栏目:大数据 来源:网络整理
导读:我正在尝试获得一个多用户认证系统,用户可以通过普通的门户网站进行登录,但单独的实体数据库(例如名为“机器人”)也可以通过API保护令牌驱动程序登录.但是无论我做什么,我的设置都不是将我的身份验证保护人员指向正确的Robot数据库,并且不断尝试通过令牌验证
我正在尝试获得一个多用户认证系统,用户可以通过普通的门户网站进行登录,但单独的实体数据库(例如名为“机器人”)也可以通过API保护令牌驱动程序登录.但是无论我做什么,我的设置都不是将我的身份验证保护人员指向正确的Robot数据库,并且不断尝试通过令牌验证用户(由于用户没有令牌而失败).
有人可以帮我找到哪里出错了吗? 我已经开始在Kernel.php中组建一个中间件组: 'api' => [ 'throttle:60,1','auth:api',], 这使用config / auth.php中的设置 'guards' => [ 'web' => [ 'driver' => 'session','provider' => 'users','api' => [ 'driver' => 'token','provider' => 'robots','providers' => [ 'users' => [ 'driver' => 'eloquent','model' => AppUser::class,'robots' => [ 'driver' => 'eloquent','model' => AppModelsRobot::class, 中间件在routes.php中调用 Route::group(['middleware' => 'api'],function () { Route::get('api/request','APIRequestController@index'); }); 它使用这个模型: <?php namespace AppModels; use IlluminateDatabaseEloquentModel; use IlluminateContractsAuthAuthenticatable; class Robots extends Authenticatable { protected $fillable = [ 'serial_number','api_token',]; protected $guard = 'Robots'; protected $hidden = [ 'api_token',]; } 有任何想法吗? 更新:进一步检查,似乎auth.php中的大多数设置都不能正确应用 – 有没有办法强制这些设置生效?
实际问题/解决方案:
Laravel有一个独立的,很少提及的缓存,专门为其配置文件而存在.正常的缓存和类重置方法,如composer dump-autoload和php artisan缓存:clear不影响此缓存,这导致我的auth.php文件中没有任何设置的混乱状态生效. 清除此缓存的正确方法是使用以下命令: php artisan config:cache php artisan config:清楚 这些解决了我的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |