慕標(biāo)5832272
2019-07-23 16:26:37
任何人都可以通過示例解釋Laravel 5.2 Multi Auth我想驗(yàn)證用戶和管理員的形式user表,并admin分別表。我正在使用User開箱即用的laravel提供的模型,并為Admin.我添加了一個(gè)保護(hù)密鑰和提供者密鑰創(chuàng)建了相同的模型auth.php.逆天'guards' => [
'user' =>[
'driver' => 'session',
'provider' => 'user',
],
'admin' => [
'driver' => 'session',
'provider' => 'admin',
],],供應(yīng)商'providers' => [
'user' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admin' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
]],路線Route::group(['middleware' => ['web']], function () {
// Login Routes.
Route::get('/admin/login','AdminAuth\AuthController@showLoginForm');
Route::post('/admin/login','AdminAuth\AuthController@login');
Route::get('/admin/logout','AdminAuth\AuthController@logout');
// Registration Routes.
Route::get('admin/register', 'AdminAuth\AuthController@showRegistrationForm');
Route::post('admin/register', 'AdminAuth\AuthController@register');
Route::get('/admin', 'AdminController@index');});我創(chuàng)建了一個(gè)名為AuthAdminLaravel的默認(rèn)目錄AuthController.php和PasswordController.php文件的目錄。(名稱空間相應(yīng)修改)首先,在Laravel的文檔中提到如何指定自定義防護(hù),同時(shí)進(jìn)行身份驗(yàn)證,這是不起作用的。Laravel的文檔中提到的另一種方法是使用不起作用的后衛(wèi)。如果有人能夠解決問題并在我錯(cuò)了的情況下糾正我,那將是有益的。
3 回答

阿波羅的戰(zhàn)車
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果這有助于任何人,這可能只是由于我對中間件缺乏了解,這是我必須做的工作(除了@imrealashu采取的步驟)...
在route.php
:
Route::get('/admin', [ 'middleware' => 'admin', 'uses' => 'AdminController@index']);
這是在web
中間件組中。在此之前,我嘗試將它放在一個(gè)單獨(dú)的admin
中間件組中,甚至在一個(gè)auth:admin
組中,但是這不起作用,當(dāng)我在路由本身指定中間件作為管理員時(shí),它只適用于我。我不知道為什么會(huì)這樣,但我希望它可以讓別人像我一樣把頭發(fā)拉出來。

料青山看我應(yīng)如是
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
在laravel 5.6中非常容易。只需轉(zhuǎn)到config/auth.php
并在providers
數(shù)組中添加此行:
'admins' => [ 'driver' => 'database', 'table' => 'admin_table']
請注意,我們用于database
驅(qū)動(dòng)程序eloquent
。
現(xiàn)在將其添加到guards
數(shù)組:
'admin_guard' => [ 'driver' => 'session', 'provider' => 'admins']
現(xiàn)在我們完成了!使用admins表時(shí)使用此選項(xiàng):
Auth::guard('admin_guard')->User();
干杯。
添加回答
舉報(bào)
0/150
提交
取消