国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison php教程 PHP開發(fā) Explication détaillée des étapes pour créer un système de connexion backend dans Laravel

Explication détaillée des étapes pour créer un système de connexion backend dans Laravel

Dec 23, 2016 pm 05:14 PM

L'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(&#39;badmin&#39;, function($table)
     {
       $table->increments(&#39;id&#39;);
        $table->string(&#39;nickname&#39;, 100)->unique();
        $table->string(&#39;username&#39;, 100)->unique();
        $table->string(&#39;email&#39;, 100)->unique();
        $table->string(&#39;password&#39;, 64);
        $table->timestamps();
     });
   }
   /**
   * Reverse the migrations.
   *
   * @return void
   */
   public function down()
   {
     Schema::drop(&#39;badmin&#39;);
   }
}

5 Configurez la base de données locale, app/config /local/database.php

<?php
return array(
  &#39;fetch&#39; => PDO::FETCH_CLASS,
  &#39;default&#39; => &#39;mysql&#39;,
  &#39;connections&#39; => array(
    &#39;mysql&#39; => array(
      &#39;driver&#39;  => &#39;mysql&#39;,
      &#39;host&#39;   => &#39;localhost&#39;,
      &#39;database&#39; => &#39;test&#39;,
      &#39;username&#39; => &#39;yejianfeng&#39;,
      &#39;password&#39; => &#39;123456&#39;,
      &#39;charset&#39;  => &#39;utf8&#39;,
      &#39;collation&#39; => &#39;utf8_unicode_ci&#39;,
      &#39;prefix&#39;  => &#39;&#39;,
    ),
  ),
  &#39;migrations&#39; => &#39;migrations&#39;,
);

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 &#39;0000-00-00 00:00:00&#39;,
 `updated_at` timestamp NOT NULL DEFAULT &#39;0000-00-00 00:00:00&#39;,
 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 = &#39;badmin&#39;;
   protected $hidden = array(&#39;password&#39;);
   public static $rules = [
     &#39;nickname&#39; => &#39;required|alpha_num|min:2&#39;,
     &#39;username&#39; => &#39;required&#39;,
     &#39;email&#39;=>&#39;required|email|unique:badmin&#39;,
     &#39;password&#39;=>&#39;required|alpha_num|between:6,12|confirmed&#39;,
   ];
}

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
   &#39;driver&#39; => &#39;eloquent&#39;,
   // 只有驅(qū)動(dòng)為eloquent的時(shí)候才有用
   &#39;model&#39; => &#39;Badmin&#39;,
);

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?:


11 Définir le routage?:

Explication détaillée des étapes pour créer un système de connexion backend dans Laravel

<?php
// 不需要登錄驗(yàn)證的接口
Route::get(&#39;/&#39;, [&#39;as&#39; => &#39;user.login&#39;,&#39;uses&#39;=>&#39;UserController@getLogin&#39;]);
Route::get(&#39;user/login&#39;, [&#39;as&#39; => &#39;login&#39;, &#39;uses&#39; => &#39;UserController@getLogin&#39;]);
Route::post(&#39;user/login&#39;, [&#39;as&#39; => &#39;login&#39;, &#39;uses&#39; => &#39;UserController@postLogin&#39;]);
// 需要登錄驗(yàn)證才能操作的接口
Route::group(array(&#39;before&#39; => &#39;auth&#39;), function()
{
  Route::get(&#39;user/logout&#39;, [&#39;as&#39; => &#39;logout&#39;, &#39;uses&#39; => &#39;UserController@getLogout&#39;]);
  Route::get(&#39;user/dashboard&#39;, [&#39;as&#39; => &#39;dashboard&#39;, &#39;uses&#39; => &#39;UserController@getDashboard&#39;]);
});

12 Définir le contr?leur?:

<?php
class UserController extends BaseController {
   // 登錄頁面
   public function getLogin()
   {
     return View::make(&#39;user.login&#39;);
   }
   // 登錄操作
   public function postLogin()
   {
     if (Auth::attempt(array(&#39;email&#39;=>Input::get(&#39;email&#39;), &#39;password&#39;=>Input::get(&#39;password&#39;)))) {
       return Redirect::to(&#39;user/dashboard&#39;)
       ->with(&#39;message&#39;, &#39;成功登錄&#39;);
     } else {
       return Redirect::to(&#39;user/login&#39;)
          ->with(&#39;message&#39;, &#39;用戶名密碼不正確&#39;)
          ->withInput();
     }
   }
   // 登出
   public function getLogout()
   {
     Auth::logout();
     return Redirect::to(&#39;user/login&#39;);
   }
   public function getDashboard()
   {
     return View::make(&#39;user.dashboard&#39;);
   }
   // 添加新用戶操作
   public function getCreate()
   {
     return View::make(&#39;user.create&#39;);
   }
   // 添加新用戶操作
   public function postCreate()
   {
     $validator = Validator::make(Input::all(), User::$rules);
     if ($validator->passes()){
        $bAdmin = new Badmin();
        $bAdmin->nickname = Input::get(&#39;nickname&#39;);
        $bAdmin->username = Input::get(&#39;username&#39;);
        $bAdmin->email = Input::get(&#39;email&#39;);
        $user->password = Hash::make(Input::get(&#39;password&#39;));
        $user->save();
        Response::json(null);
     } else {
        Response::json([&#39;message&#39; => &#39;注冊(cè)失敗&#39;], 410);
     }
   }
}

13 Définir le filtre, app/filter.php

Route::filter(&#39;auth&#39;, function()
{
   if (Auth::guest())
   {
     if (Request::ajax())
     {
        return Response::make(&#39;Unauthorized&#39;, 401);
     }
     else
     {
        return Redirect::guest(&#39;/&#39;);
     }
   }
});

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?!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1502
276