Maison >développement back-end >tutoriel php >laravel5.2 réalise la méthode de distinction des connexions utilisateur avant et arrière
1. Connectez-vous à la réception
Utilisez directement la propre authentification de Laravel
php artisan make:auth
Ensuite, vous pouvez consulter le fichier de routage :
Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/home', 'HomeController@index'); });
Exécutez php artisan migrate
et vous constaterez que deux tables sont générées.
2. Connexion en arrière-plan
Modifier le fichier de configuration
configauth.php
Ajouter un administrateur dans les gardes et des administrateurs dans les fournisseurs
<?php return [ 'defaults' => [ 'guard' => 'web', 'passwords' => 'users', ], 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'admin' => [ 'driver' => 'session', 'provider' => 'admins', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', ], ], 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'admins' => [ 'driver' => 'eloquent', 'model' => App\Admin::class, ], ], 'passwords' => [ 'users' => [ 'provider' => 'users', 'email' => 'auth.emails.password', 'table' => 'password_resets', 'expire' => 60, ], ], ];
3. Créez le modèle de données
Exécutez php artisan make:model Admin --migration
puis modifiez les données de migration de base de données. structure de la table, copiez simplement la table utilisateur
Exécutez php artisan migrate et vous constaterez que la table admin est générée
4 Définissez la route d'arrière-plan
I. définissez-le directement ici Créez un groupe de routage
Route::group(['prefix' => 'admin' ,'middleware' => 'admin'], function () { Route::get('login', 'Admin\AuthController@getLogin'); Route::post('login', 'Admin\AuthController@postLogin'); Route::get('register', 'Admin\AuthController@getRegister'); Route::post('register', 'Admin\AuthController@postRegister'); Route::get('logout', 'Admin\AuthController@logout'); Route::get('/', 'Admin\AdminController@index'); });
5. Créez un contrôleur
et exécutez
php artisan make:controller Admin/AuthController php artisan make:controller Admin/AdminController
AuthController.php peut faire référence à AuthController.php dans Auth
<?php namespace App\Http\Controllers\Admin; use App\Admin; use Validator; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ThrottlesLogins; use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; class AuthController extends Controller { use AuthenticatesAndRegistersUsers, ThrottlesLogins; protected $redirectTo = '/admin'; protected $guard = 'admin'; protected $loginView = 'admin.login'; protected $registerView = 'admin.register'; public function __construct() { $this->middleware('guest:admin', ['except' => 'logout']); } protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:admins', 'password' => 'required|confirmed|min:6', ]); } protected function create(array $data) { return Admin::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); } }
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use Auth; class AdminController extends Controller { public function __construct() { $this->middleware('auth:admin'); } public function index() { $admin = Auth::guard('admin')->user(); return view('admin.home'); } }6. Créez une vueIci, copiez directement la vue et home.blade.php auth dans un nouveau dossier admin.
<ul class="nav navbar-nav navbar-right"> <!-- Authentication Links --> @if (Auth::guest('admin')) <li><a href="{{ url('/login') }}">Login</a></li> <li><a href="{{ url('/register') }}">Register</a></li> @else <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> {{ Auth::guard('admin')->user()->name }} <span class="caret"></span> </a> <ul class="dropdown-menu" role="menu"> <li><a href="{{ url('/admin/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li> </ul> </li> @endif </ul>
Essayez maintenant de vous connecter séparément au front et au backend ! 7. Problèmes possibles de saut de pageSi vous rencontrez cette situation, vous pouvez essayer de modifier MiddlewareAuthenticate.php
return redirect()->guest($guard.'/login');Ce qui précède est la méthode que l'éditeur vous présente dans laravel5.2 pour réaliser la distinction entre la connexion utilisateur avant et arrière. J'espère que cela vous sera utile. Si vous avez des questions, laissez-moi un message et l'éditeur vous répondra. dans le temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois ! Pour plus d'articles sur la méthode de laravel5.2 permettant de distinguer les connexions des utilisateurs avant et arrière, veuillez faire attention au site Web PHP chinois !