Menu
GIỚI THIỆU
  • Hướng dẫn xây dựng code trang quản trị và kiểm soát đăng nhập middlewere. Trước khi học chúng ta phải có giao diện trang quản trị và trong trang quản trị có các phần quản lý danh mục, quản lý bài viết

Học Laravel Miễn Phí A-Z 08 - Hướng dẫn xây dựng code trang quản trị với middlewere

Yêu cầu: Trước khi học chúng ta phải có giao diện trang quản trị và trong trang quản trị có các phần quản lý danh mục, quản lý bài viết

1. Xây dựng trang quản trị

  1. Chúng ta bắt đầu tạo controller cho trang quản trị, nhấn shift + chuột phải -> rồi chọn open command prompt here và nhập php artisan make:controller admin/HomeController
  2. Mở file controller lên và ta cũng khi báo sử dụng DB và Session. Với cú pháp use DB,Session
  3. Chúng ta bắt đầu tạo fuction getVew
  1. Trong view ta tạo ra folder home trong views/admin. Ta copy file .html vào và đổi tên thành view.blade.php .còn phần css,js,img,… chúng ta làm tương tự như các phần trước
  2. Quay lại file LoginController chúng ta sẽ thêm tạo session khi đã login và withInput dữ lại user khi đăng nhập không đúng, redirect đến trang quản trị sửa lại như sau

public function postLogin(Request $request){
 
                        $rules = [
 
                        'user'=>'required',
 
                        'pass'=>'required',
 
            ];
 
            $messages = [
 
                        'user.required'=>'tài khoản không được để trống',
 
                        'pass.required'=>'mật khẩu không được để trống',
 
            ];
 
            $Validator = Validator::make($request->all(),$rules,$messages);
 
            if($Validator->fails()){
 
                        return redirect()->back()->withErrors($Validator);
 
            }
 
            else{
 
                        $arr = [
 
                                    'user_name'=>$request->user,
 
                                    'user_pass'=>md5($request->pass),
 
                        ];
 
                        if(DB::table('hoicode_users')->where($arr)->count()==1){
 
                                    $data = DB::table('hoicode_users')->where($arr)->first();
 
                                    Session::flash('success','đăng nhập thành công');
 
                                    Session::put('login',$data);
 
                                    return redirect()->intended('admin/home/view');
 
                        }
 
                        else{
 
                                    Session::flash('error','đăng nhập thất bại');
 
                                    return redirect()->back()->withInput();
 
                        }
 
            }
 
            }

Và chúng ta vào file view login thêm value=”{{old(‘user’)}}” cho user nhé để có thể lưu lại tên khi đăng nhập sai

2. Giới thiệu về Middleware

Middlewere cung cấp một cơ chế lọc từ Http vào ứng dụng của bạn

Ví dụ: người dùng chưa đăng nhập vào trong trang quản trị của bạn (localhost/laravel/admin/home/view) thì middewere có nhiệm vụ ngăn chặn và đẩy lại trang đăng nhập

Để tao để tạo file middlewere ta làm như sau shift + chuột phải -> rồi chọn open command prompt here gõ lệnh php artisan make:middleware CheckLogin

Và file middlwere nó nằm trong thư mục appHttpMiddleware

3. Kiểm soát đăng nhập và chức năng Logout

  1. Chúng ta mở file CheckLogin lên ta thấy đã có 1 function và bây giờ ta bắt đầu kiểm tra đăng nhập

 

Có nghĩa là nếu tồn tại 1 session login và trùng khớp trong cơ sở dữ liệu thì chúng ta sẽ cho vào trang quản trị

  1. Chúng ta cũng tạo ra 1 file CheckAdmin để kiểm soát nếu chưa đăng nhập thì trở lại trang login. Chúng ta làm tương tự

  1. Chúng ta cần khi báo cho file middlewere. Ta vào appHttp và mở file Kernel.php và xuống phần protected $routeMiddleware = ta sẽ thêm như sau

‘checkLogin’ => AppHttpMiddlewarecheckLogin::class,

‘checkAdmin’ => AppHttpMiddlewarecheckAdmin::class,

  1. Chúng ta vào HomeController ta sẽ xây dựng chức năng logout
  1. Ta vào phần routes/web.php xóa hết phần cũ từ những bài trước đi ta sẽ sử dụng group cú pháp như sau Route::group

 

Route::group(['namespace'=>'Admin',],function(){
 
            Route::group(['prefix'=>'login','middleware'=>'checkLogin'],function(){
 
                        Route::get('/','LoginController@getLogin');
 
                        Route::post('/','LoginController@postLogin');
 
            });
 
            Route::group(['prefix'=>'admin','middleware'=>'checkAdmin'],function(){
 
                        Route::group(['prefix'=>'home'],function(){
 
                                    Route::get('view','HomeController@getView');
 
                                    Route::get('logout','HomeController@getLogout');
 
            });
 
}

Cám ơn các bạn đã theo dõi, ở bài sau mình sẽ hướng dẫn các bạn Master layout và Xây dựng trang quản trị tiếp. Hẹn gặp lại các bạn ở bài kế tiếp.

Tham khảo các video bài học laravel khác tại đây.

Ghi nguồn hoicode.com khi đăng tải lại bài viết này.
Link: Học Laravel Miễn Phí A-Z 08 - Hướng dẫn xây dựng code trang quản trị với middlewere
Tags: laravel học laravel miễn phí học fullstack laravel full laravel
Category: Laravel
Mạnh xã hội: Follow fanpage của team https://www.facebook.com/hoicode/ để tiếp tục theo dõi các loạt bài mới nhất về Laravel,Java,C,C++,Javascript,HTML,PHP,Python,Database,Mobile.... mới nhất của chúng tôi.

Chia sẻ liên kết

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Facebook để được hỗ trợ nhanh nhất.

    Email của bạn sẽ được sử dụng với mục đích thông báo tin tuyển dụng mới hoặc các bài viết mới.

    captcha