Laravel:多个auth方法实现

时间:2014-09-23 13:35:39

标签: php authentication laravel

在一个laravel项目中,我将有两个auth方法:

  1. API客户端身份验证(检查客户端是否可以查询API)使用专用的雄辩模型(类似APIUser)
  2. 用户身份验证(检查用户凭据)与另一个专用模型(Something User)
  3. 我想通过第一个身份验证系统进行身份验证,然后通过第二个身份验证系统检查用户凭据。示例:

    curl -u a:b myapi/?user=c&pass=d

    因此a& b是API客户端身份验证的登录名和密码,c& d是用户身份验证的登录名和密码。什么是最好的方法:创建一个多auth系统?或者只考虑一个系统用于auth,另一个只是查询数据库?或者是其他东西 ? (希望我的问题很清楚,如果你需要,我可以编辑)

2 个答案:

答案 0 :(得分:0)

Multiauth的工作方式类似于内置的laravel auth,但允许几个独立的身份验证会话(您可以登录第一个,第二个或两个帐户)。

答案 1 :(得分:0)

对Laravel使用Ollieread的MultiAuth扩展名。它为您设置一切。只需打开文件app/config/auth.php并替换此数组:

return array(
    'driver' => 'eloquent',
    'model' => 'User',
    'table' => 'users',
    'reminder' => array(
        'email' => 'emails.auth.reminder',
        'table' => 'password_reminders',
        'expire' => 60,
    ),
);

return array(
    'multi' => array(
        'admin' => array(
            'driver' => 'eloquent',
            'model' => 'Admin'
        ),
        'user' => array(
            'driver' => 'database',
            'table' => 'users'
        )
    ),

    'reminder' => array(
        'email' => 'emails.auth.reminder',
        'table' => 'password_reminders',
        'expire' => 60,
    ),
);

当然,您可以添加任意数量的内容。然后复制粘贴User.php表的默认Admin.php模型。