在一个 laravel 项目中,我将有两个身份验证方法:
- API 客户端
- 身份验证(检查客户端是否可以查询 API(与专用的雄辩模型(类似于 APIUser(
- 使用另一个专用模型(用户某物(进行用户身份验证(检查用户凭据(
进行身份验证,然后通过第二个身份验证系统检查用户凭据。例:
curl -u a:b myapi/?user=c&pass=d
因此,a
和b
是API客户端身份验证的登录名和密码,c
和d
是用户身份验证的登录名和密码。最好的方法是什么:创建一个多身份验证系统?或者考虑只有一个系统用于身份验证,另一个系统只是查询数据库?还是别的什么?(希望我的问题足够清楚,如果需要我可以编辑(
Multiauth 的工作方式类似于内置的 laravel 身份验证,但允许很少的独立身份验证会话(您可以登录第一个、第二个或两个帐户(。
使用 Ollieread 的 MultiAuth 扩展 for Laravel。它为您设置了一切。只需打开文件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
表。