2016-01-13 4 views
-1

Я использую таблицу с именем admins для хранения name|email|password|contact всех администраторов вместо встроенной таблицы пользователей, предоставленной Laravel, и мой код контроллера входа/выхода из системы приведен ниже.Laravel 5.2 Пользовательская аутентификация

Это не работает отлично и даже не вызывает никаких ошибок. Мне нужно настроить файл config/auth.php для этого? Если мне нужно тогда, как это будет выглядеть? И предположим, у меня есть другая таблица для менеджеров, и у них есть name|email|password|contact, как админы. Как я могу их настроить?

AdminloginController:

<?php 

namespace App\Http\Controllers; 


use App\Model\Admin; 
use Illuminate\Database\QueryException; 
use Illuminate\Http\Request; 
use App\Http\Requests; 
use Illuminate\Support\Facades\Auth; 
use Illuminate\Support\Facades\Validator; 

class AdminLoginController extends Controller 
{ 
    public function postLogin(Request $request){ 
     if(Auth::attempt(['email'=> $request->email,'password'=> $request->password])){ 
      return redirect('/AdminPanel'); 
     } 
     return redirect()->back(); 
    } 
    public function getLogout(Request $request){ 
     Auth::logout(); 
     return redirect('/'); 
    } 
} 

ответ

0

Если у вас есть несколько таблиц с одинаковыми столбцами следует, а не создавать множество таблиц. Было бы лучше, если бы вы использовали одну таблицу (возможно, по умолчанию users), и для каждого пользователя также назначается роль (либо admin, либо manager). Это может не создать смысла для создания нескольких таблиц пользователей. Также подумайте, что в будущем вам может понадобиться и другой тип менеджеров и т. Д., И вы, наконец, получите несколько таблиц пользователей вместо одного.

Вы действительно должны это учитывать, если у вас еще нет таблиц, чтобы в будущем не было сделано много изменений в вашем коде.

Смежные вопросы