12/08/2018, 15:09

User Authentication with Laravel

Laravel giúp cho việc thực hiện việc xác thực vô cùng đơn giản. Trong thực tế, hầu hết mọi thứ đã được cấu hình cho bạn. Các file cấu hình xác thực được đặt tại config/auth.php, bao gồm một số hướng dẫn tùy biến rõ ràng cho việc tinh chỉnh cách xử lí của các dịch vụ Authentication. Để tìm hiểu ...

Laravel giúp cho việc thực hiện việc xác thực vô cùng đơn giản. Trong thực tế, hầu hết mọi thứ đã được cấu hình cho bạn. Các file cấu hình xác thực được đặt tại config/auth.php, bao gồm một số hướng dẫn tùy biến rõ ràng cho việc tinh chỉnh cách xử lí của các dịch vụ Authentication.

Để tìm hiểu chi tiết các bạn tham khảo chi tiết tại link sau: mình thấy cũng khá đầy đủ. https://viblo.asia/nguyen.manh.thang/posts/EyORkbOeGqB

Trong bài này để hiểu rõ cách thức hoạt động của nó, mình sẽ tự code trang login admin cho site của mình:

Step 1 : Cài đặt laravel

Cài đặt: Laravel Installer

$ composer global require "laravel/installer=~1.1"
$ laravel new laravelShop

#2: Cấu hình Database

Cài đặt thông tin database: .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelshop
DB_USERNAME=root
DB_PASSWORD=xxxx

#3: Tạo Table users

Sau khi đã connect db thành công, để xây dựng trang login chúng ta cần tạo table users trong database.

$ php artisan migrate

Sau khi chạy cmd trên, bạn kiểm tra database, nó sẽ tạo ra sẵn cho ta 1 table users. với các trường như sau:

Adding a new Column to Users Table

  • level: để phân biệt, người dùng hay admin
  • status: chỉ trạng thái user đang hoạt động hay không

Rất đơn giản Để thêm 2 Column trên ta làm như sau: sử dụng cmd

 php artisan make:migration add_level_status_to_users_table --table=users

sau đó file add_level_status_to_users_table sẽ được tạo ra trong folder database/migrations. Mở file đó ra và thêm đoạn code khai báo level, status như sau vào function up:

public function up()
    {
        Schema::table('users', function (Blueprint $table) {
             $table->tinyInteger('level')->after('password')->default(0);
             $table->tinyInteger('status')->after('level')->default(0);
        });
    }

tiếp theo run cmd

$ php artisan migrate

kiểm tra database:

Để có dữ liệu mẫu bạn tự insert vài user vào table users nhé.

4. Tạo giao diện trang login, admin

Giao diện trang admin mình sẽ sử dụng AdminLTE Control Panel Template, Các bài viết sau mình sẽ sử dụng teamplate này, nếu bạn k thích có thể tự code form             </div>
            
            <div class=

0