Hướng dẫn php artisan make:auth
Xin chào anh em, như anh em cũng biết là một hệ thống nào cũng cần có xác thực khi thực hiện một hoặc nhiều hành vi mà hệ thống cho phép. Để tiếp tục series Laravel và những điều thú vị thì hôm nay mình sẽ giới thiệu với các bạn Show 1. Giới thiệuLướt qua phần config tí nhé, chúng ta sẽ thấy có một file
Hệ thống xác thực Authentication của Laravel được xây dựng dựa trên 2 thành phần cốt lõi - guard và provider. Guards
Vì vậy, như bạn thấy, guard xác định logic của việc xác thực, và không cần thiết để luôn xác thực bằng cách lấy các thông tin hợp lệ từ phía back-end. Bạn có thể triển khai một guard mà chỉ cần kiểm tra sự có mặt của một thông tin cụ thể trong headers của request và xác thực người dùng dựa trên điều đó. ProvidersNếu
Chúng ta đăng ký tài khoản với hệ
thống thì trường password thì phải tối thiểu 60 ký tự và tối đa 255 ký tự nhé. Chúng ta cũng có thể đổi thay đổi cho trường 2.Làm quen với Authentication trong LaravelControllerLaravel sẽ có một vài các controller của Authentication có sẵn trong prject Laravel của chúng ta. Nó nằm ở App\Http\Controller\Auth namespace và chúng nằm trong folder
Thành phần được sinh raĐể bắt đầu thực hiện công việc xác thực cho hệ thống chúng ta hãy thực hiền 2 câu lệnh sau:
Khi thực hiện xong thì hệ thống sẽ sinh ra cho chúng ta những thứ sau. Thứ nhất các bạn vào
Vậy chúng ta cũng có
thể hiểu, hệ thống sẽ tự sinh ra cho chúng ta những route để phục vụ cho việc login, logout, register, forgot password. Các bạn cũng có thể sử dụng câu lệnh
Ngoài ra trong app/Http/Controllers sẽ sinh ra Tiếp nữa các bạn vào folder Tùy biến Path trong controllerỞ trong
Khi user không được xác nhận thành công, họ sẽ tự động chuyển hướng quay lại form đăng nhập. Tiếp theo bạn cũng có thể điều chỉnh trong middeware
Tùy biến Username, GuardTheo mặc định của Laravel thì sẽ đăng nhập bằng
Chúng ta cũng có thể tùy biến
Tùy biến Validator, Storage khi registerTrong
Các bạn có thể tạo 1 file mới migration mới và thêm các trường cho bảng
Tiếp tục chúng ta sẽ cho hiển
thị thêm 2 trường input để nhập address và phone của người dùng, nhớ thêm các trường vừa thêm trong biến
Đây là ví dụ mình muốn customize lại phần register, nhưng trong thực tế thì người dùng ko mong muốn phải nhập nhiều dữ liệu như này, chúng ta có thể cho người dùng đăng ký các trường mặc định như trong Laravel, có điều vào phần chức năng chỉnh sửa Profile thì chúng ta mới cho update cập nhật thông tin người dùng !!! Truy suất người dùng đã xác thựcKhi mà các bạn đăng nhập thành công hệ thống thì các bạn có thể truy cập thông tin người dùng đã xác thực ở mọi nơi. Các bạn cần use
Để xem người dùng đã xác thực (đăng nhập được vào hệ thống) hay chưa thì dùng
MiddlewareTrong Laravel , authentication có middleware
Khi bạn gán dùng middleware auth trong route, bạn cũng có thể chỉ định guard nào sẽ được sử dụng để thực hiện công việc xác thực. Nhưng những guard mà bạn có thể lựa chọn chỉ được lựa auth.php
Ví dụ
3.Xác thực người dùng thủ côngNhiều bạn không muốn dùng authentication controller có sẵn để
xác thực người dùng. Đừng lo lắng về vấn đề đấy, chúng ta có thể tự xác thực theo ý muôn của chúng ta bằng cách sử dụng các class có sẵn ở
Giải thích một chút nhé: Khi ta sử dụng Chúng ta cũng có thể thêm trường thuộc tính vào
Chú ýNgoài cách sử dụng Ghi nhớ người dùng (Remember me)Khi mà người dùng request đăng nhập lên hệ thống thì trên server sẽ sinh ra session, đồng thời server sẽ set header trên response trả về client. Mục đích của header này là lưu cookie ở client. Trong cookie sẽ chứa session id tương ứng session trên server. Nhờ đó mà server sẽ biết được ai request ở lần tiếp theo. Nhưng bạn biết đấy, Cookie thì lâu lâu thì thời gian expire của nó cũng hết, khi đó người dùng sẽ bị logout ra ngoài. Khi chúng ta tích vào ô check box Tiếp nhé, tại sao user lại duy trì đăng nhập lâu dài được khi nhấn vào nút 4.Kết luậnBài viết trên mình đã giới thiệu
cho các bạn những thứ gì cơ bản nhất về authentication trong Laravel, còn rất nhiều hàm mà 5.Tham khảohttps://laravel.com/docs/5.6/authentication |