В одном проекте laravel у меня было бы два метода аутентификации:
Я хотел бы пройти аутентификацию через первую систему аутентификации, а затем проверить учетные данные пользователя через вторую систему аутентификации. Пример :
curl -u a:b myapi/?user=c&pass=d
Так a
&b
логин и пароль для аутентификации клиента API и c
&d
являются логином и паролем для аутентификации пользователя. Что может быть лучшим способом сделать это: создать систему с множественной аутентификацией? или считаете, что только одна система предназначена для аутентификации, а другая просто запрашивает базу данных? или что-то другое ? (надеюсь, мой вопрос достаточно ясен, я могу отредактировать, если вам нужно)
Multiauth работает как встроенная авторизация laravel, но допускает несколько независимых сеансов аутентификации (вы можете войти в систему с первой, второй или обеих учетных записей).
Используйте Ollieread’s MultiAuth расширение для 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
Таблица.