


Explication détaillée des étapes pour créer un système de connexion backend dans Laravel
Dec 23, 2016 pm 05:14 PML'exemple de cet article décrit comment créer un système de connexion backend dans Laravel. Je le partage avec vous pour votre référence. Les détails sont les suivants?:
Aujourd'hui, je souhaite utiliser Laravel pour créer un système backend. J'ai besoin du plus simple. Il y a des utilisateurs qui se connectent au système. en l'essayant, j'ai l'impression que les utilisateurs de Laravel peuvent se connecter. C'est vraiment content. Bien entendu, le principe est que le système de gestion des utilisateurs que vous souhaitez est le plus simple, c'est-à-dire qu'il vous suffit de pouvoir vous connecter sans autorisations utilisateur.
Je n'utiliserai pas ici la table des utilisateurs par défaut comme exemple, car elle serait facile à confondre avec certains des paramètres par défaut de Laravel.
Tout d'abord, confirmez que la table user en arrière-plan s'appelle badin. Chaque administrateur a un nom d'utilisateur, un pseudo, un email et un mot de passe
Pour vous amuser ici, utilisez la migration de Laravel pour créer le. table (en fait, vous n'avez pas besoin d'utiliser cet outil pour créer la table)
1 Installez le framework Laravel le plus basique
2 Créez un fichier de migration?:
./artisan migrate:make create-badmin-table
3 Trouvé un fichier php supplémentaire sous app/database/migration/?:
2014_10_19_090336_create-badmin -table.php
4 Ajouter du contenu vers le haut et vers le bas?;
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateBadminTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('badmin', function($table) { $table->increments('id'); $table->string('nickname', 100)->unique(); $table->string('username', 100)->unique(); $table->string('email', 100)->unique(); $table->string('password', 64); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('badmin'); } }
5 Configurez la base de données locale, app/config /local/database.php
<?php return array( 'fetch' => PDO::FETCH_CLASS, 'default' => 'mysql', 'connections' => array( 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'test', 'username' => 'yejianfeng', 'password' => '123456', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), ), 'migrations' => 'migrations', );
6 Créer une table de données?:
./artisan migrate --env=local
à ce moment-là, je suis allé dans la base de données et j'ai trouvé que il y avait une table badadmin supplémentaire. La structure des données est la suivante?:
CREATE TABLE `badmin` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `nickname` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `username` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `email` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(64) COLLATE utf8_unicode_ci NOT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `badmin_nickname_unique` (`nickname`), UNIQUE KEY `badmin_username_unique` (`username`), UNIQUE KEY `badmin_email_unique` (`email`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
create_at et update_at, ce sont des champs créés par laravel par défaut pour chaque table, et ces deux champs peuvent être automatiquement mis à jour lors de l'utilisation d'Eloquent. pour effectuer des ajouts, des suppressions, des modifications et des requêtes
7 Créer un modèle?:
<?php use Illuminate\Auth\UserTrait; use Illuminate\Auth\UserInterface; use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\Reminders\RemindableInterface; class Badmin extends Eloquent implements UserInterface, RemindableInterface { use UserTrait, RemindableTrait; protected $table = 'badmin'; protected $hidden = array('password'); public static $rules = [ 'nickname' => 'required|alpha_num|min:2', 'username' => 'required', 'email'=>'required|email|unique:badmin', 'password'=>'required|alpha_num|between:6,12|confirmed', ]; }
Ici, vous devez implémenter UserInterface et RemindableInterface
8 Associez le modèle à Auth et modifiez app/config/auth.php
<?php return array( // 默認(rèn)的用戶驗(yàn)證驅(qū)動(dòng) // 可以是database或者eloquent 'driver' => 'eloquent', // 只有驅(qū)動(dòng)為eloquent的時(shí)候才有用 'model' => 'Badmin', );
Le pilote ici peut être éloquent ou utilisant une base de données. eloquent indique au composant Auth que la classe d'authentification utilisateur est gérée par la classe Badmin. Le modèle ici a un espace de noms, c'est-à-dire que si votre classe d'administrateur est YejianfengBadmin, elle devrait être remplacée par 'YejianfengBadmin'
9 D'accord, à ce stade, la partie logique a en fait été construite, et vous peut déjà utiliser
Auth::attempt(XXX) dans le contr?leur pour l'authentification des autorisations
Auth::user() pour obtenir l'utilisateur connecté (une classe Badmin)
et bient?t. 10 Ensuite, créez une page de connexion utilisateur?:<?php // 不需要登錄驗(yàn)證的接口 Route::get('/', ['as' => 'user.login','uses'=>'UserController@getLogin']); Route::get('user/login', ['as' => 'login', 'uses' => 'UserController@getLogin']); Route::post('user/login', ['as' => 'login', 'uses' => 'UserController@postLogin']); // 需要登錄驗(yàn)證才能操作的接口 Route::group(array('before' => 'auth'), function() { Route::get('user/logout', ['as' => 'logout', 'uses' => 'UserController@getLogout']); Route::get('user/dashboard', ['as' => 'dashboard', 'uses' => 'UserController@getDashboard']); });
12 Définir le contr?leur?:
<?php class UserController extends BaseController { // 登錄頁面 public function getLogin() { return View::make('user.login'); } // 登錄操作 public function postLogin() { if (Auth::attempt(array('email'=>Input::get('email'), 'password'=>Input::get('password')))) { return Redirect::to('user/dashboard') ->with('message', '成功登錄'); } else { return Redirect::to('user/login') ->with('message', '用戶名密碼不正確') ->withInput(); } } // 登出 public function getLogout() { Auth::logout(); return Redirect::to('user/login'); } public function getDashboard() { return View::make('user.dashboard'); } // 添加新用戶操作 public function getCreate() { return View::make('user.create'); } // 添加新用戶操作 public function postCreate() { $validator = Validator::make(Input::all(), User::$rules); if ($validator->passes()){ $bAdmin = new Badmin(); $bAdmin->nickname = Input::get('nickname'); $bAdmin->username = Input::get('username'); $bAdmin->email = Input::get('email'); $user->password = Hash::make(Input::get('password')); $user->save(); Response::json(null); } else { Response::json(['message' => '注冊(cè)失敗'], 410); } } }
13 Définir le filtre, app/filter.php
Route::filter('auth', function() { if (Auth::guest()) { if (Request::ajax()) { return Response::make('Unauthorized', 401); } else { return Redirect::guest('/'); } } });
Modifiez l'adresse après l'échec de l'authentification en /path
14 Définir vues/user/login.blade.php
Comme vous pouvez le voir, ici Vous pouvez utilisez directement Session::has et Session::get
et vous avez pratiquement terminé...
J'espère que cet article sera utile à la conception de programmes PHP de chacun basé sur le framework Laravel.
Pour des informations plus détaillées sur les étapes à suivre pour créer un système de connexion backend avec Laravel, veuillez faire attention au site Web PHP chinois?!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)