加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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:清楚

这些解决了我的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读