Tiếp sau bài viết Middleware trong Laravel trong bài viết này mình sẽ hướng dẫn bạn xây dựng chức năng Login. Khi thực hiện chức năng này bạn sẽ vượt qua kiểm duyệt của Middleware từ đó đăng nhập vào hệ thống để thực hiện các Request.

Để làm được bài này thì bạn cần đọc xong ở bài trước đã nhé!

Tạo một Database tên là data. Sau đó thêm mã MySQL để tạo bảng users . Bạn sẽ phải dùng users mà không được lấy tên khác.

CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1 ;

Bước 1: Tạo Model là User.php

<?php
   
namespace App\Models; 
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use DB;

class User extends Authenticatable
{
    use HasFactory, Notifiable;
    protected $table = 'users';
    protected $fillable = [
        'username', 'password'
    ];
    public $timestamps = false;
    const UPDATED_AT = null;
    protected $hidden = ['created_at', 'updated_at'];
}

Bước 2: Viết code cho AdminController.php

<?php
 
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Auth\AuthenticationException;
use Request;
use App\Models\User;
use DB;
class AdminController extends Controller
{
public function index(){
   return view('admin');
}
public function postLogin(Request $request)
    {
       $user = DB::table('users')
                ->where('username','=', Request::get('username'))
                ->where('password','=',md5(Request::get('password')))
                ->get();
        print_r('<pre>');
        print_r($user);

        if (Auth::check()) {
            dd('Đăng nhập thành công');
        }
    }
}

Bước 3: Tạo trang đăng nhập admin.blade.php tại View

Lấy code tại đây

Bước 4: Thêm các dòng mã sau vào web.php tại Route

Route::group(['middleware' => ['admin']], function () {
    Route::get('login', 'App\Http\Controllers\[email protected]');
    Route::post('postLogin', 'App\Http\Controllers\[email protected]');
});

Cuối cùng bạn gõ http://localhost/quachquynh/login lên trình duyệt để nhập thông tin đăng nhập vào.

auth-laravel

Sau khi nhập đúng thông tin nó sẽ in ra dữ liệu và hiển thị thông báo thành công.

Lưu ý:

  • Trên bảng users bạn sẽ phải thêm dữ liệu vào trước mới có thể đăng nhập được
  • Mật khẩu trên cơ sở dữ liệu bạn phải đặt là MD5
  • Sau khi đăng nhập thành công bạn có thể thêm code redirect tới trang quản trị admin

Kết luận: Với trang đăng nhập khá đơn giản này bạn đã Login. Nếu gặp khó khăn hay bất kỳ thắc mắc nào bạn hãy comment bên dưới để được hỗ trợ nhé!

Cùng chủ đề

Bình luận!

Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *