Trong bài đăng này, tôi sẽ chia sẻ cách triển khai đăng nhập và đăng ký xác thực tùy chỉnh của Laravel 8, 9 bằng tên người dùng hoặc email. Chúng tôi biết rằng Laravel Framework là một trong những Framework PHP tốt nhất vì các tính năng nâng cao và công cụ phát triển này giúp bạn phát triển nhanh chóng; . Ngoài ra, Laravel còn giúp các nhà phát triển web đơn giản hóa quy trình phát triển của họ bằng mã sạch và có thể tái sử dụng
Như tôi đã nói ở trên, tôi sẽ chia sẻ cách tạo xác thực đơn giản và rõ ràng cho ứng dụng Laravel của bạn bằng tên người dùng hoặc email. Chúng tôi biết rằng xác thực là một trong những điều quan trọng nhất cần triển khai trước khi mã hóa ứng dụng của bạn để kiểm soát người dùng của bạn truy cập dữ liệu nhạy cảm
Tôi sẽ cung cấp cho bạn các bước dễ dàng để bạn hiểu rõ ràng
Bước 1. Tạo ứng dụng Laravel
Tôi cho rằng bạn đã thiết lập trình soạn nhạc trên hệ thống của mình. Chạy đoạn mã sau để cài đặt ứng dụng Laravel mới. Tuy nhiên, bạn có thể bỏ qua bước này nếu đã cài đặt ứng dụng Laravel
composer create-project --prefer-dist laravel/laravel login-and-registration
Tiếp theo, điều hướng thư mục đăng nhập và đăng ký bằng lệnh sau
cd login-and-registration
Bước 2. Thiết lập thông tin xác thực cơ sở dữ liệu
Tiếp theo, tạo cơ sở dữ liệu của bạn, bạn có thể sử dụng lệnh để tạo cơ sở dữ liệu hoặc trong PHPMyAdmin. Sau đó, sau khi được tạo, hãy điều hướng. env và cập nhật thông tin đăng nhập cơ sở dữ liệu của bạn
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
Laravel mặc định đi kèm với mô hình Người dùng và các tệp di chuyển. Nhưng trước khi chạy lệnh di chuyển, chúng tôi cần cập nhật quá trình di chuyển bảng người dùng của bạn, có thể tìm thấy tại đây > {project_folder}\database\migrations\2014_10_12_000000_create_users_table. php và thêm trường tên người dùng, sau đó cập nhật trường tên thành nullable để khi đăng ký, chúng tôi yêu cầu email, tên người dùng và mật khẩu. Xem mã di chuyển được cập nhật bên dưới
Schema::create['users', function [Blueprint $table] {
$table->id[];
$table->string['name']->nullable[];
$table->string['email']->unique[];
$table->string['username']->unique[];
$table->timestamp['email_verified_at']->nullable[];
$table->string['password'];
$table->rememberToken[];
$table->timestamps[];
}];
Sau khi cập nhật, quá trình di chuyển của chúng tôi hiện đã sẵn sàng để di chuyển, chỉ cần chạy lệnh sau đến thiết bị đầu cuối của bạn
php artisan migrate
Bước 3. Mô hình thiết lập
Tiếp theo, chúng ta cần sửa đổi Ứng dụng\Mô hình\Người dùng. php và thêm tên người dùng dưới dạng có thể điền. Xem mã được cập nhật sau đây
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'email',
'username',
'password',
];
Sau đó, tiếp theo, chúng ta sẽ thêm phương thức setPasswordAttribute này để mọi người dùng đã đăng ký, mật khẩu sẽ luôn được mã hóa. Đây được gọi là Laravel mutators để biết thêm về nó, chỉ cần truy cập tài liệu của họ tại đây
/**
* Always encrypt the password when it is updated.
*
* @param $value
* @return string
*/
public function setPasswordAttribute[$value]
{
$this->attributes['password'] = bcrypt[$value];
}
Đừng lo lắng khi xem mã hoàn chỉnh của Người dùng này. php mô hình chỉ cần tải xuống mã nguồn đầy đủ của hướng dẫn này bên dưới
Bước 4. Thiết lập bộ điều khiển đăng ký
Để thiết lập bộ điều khiển đăng ký, chỉ cần sử dụng thiết bị đầu cuối của bạn và chạy lệnh sau
php artisan make:controller RegisterController
Bây giờ, bạn đã tạo RegistrerController của chúng tôi mà bạn có thể tìm thấy ở đây > App\Http\Controllers\RegisterController. php bây giờ hãy mở nó và xem đoạn mã sau bên dưới
________số 8
Bước 5. Yêu cầu đăng ký thiết lập
Chúng tôi cần tách xác thực yêu cầu của mình cho quy trình đăng ký của chúng tôi. Vì vậy, mã của chúng tôi sạch sẽ trong bộ điều khiển của chúng tôi và không bị cồng kềnh. Vì vậy, chúng tôi sẽ tạo RegisterRequest của chúng tôi chỉ cần làm theo lệnh sau bên dưới
php artisan make:request RegisterRequest
Bây giờ bạn đã tạo RegisterRequest mà bạn có thể tìm thấy ở đây > App\Http\Requests\RegisterRequest. php thì tiếp theo, chúng tôi sẽ thêm các quy tắc xác thực của mình. Chỉ cần xem đoạn mã sau đây
cd login-and-registration
0
Bây giờ bạn đã xác nhận đăng ký rồi
Bước 6. Thiết lập bộ điều khiển đăng nhập
Để thiết lập bộ điều khiển đăng nhập, chỉ cần sử dụng thiết bị đầu cuối của bạn và chạy lệnh sau
cd login-and-registration
1
Bây giờ, bạn đã tạo LoginController của chúng tôi mà bạn có thể tìm thấy nó ở đây > App\Http\Controllers\LoginController. php bây giờ hãy mở nó và xem đoạn mã sau bên dưới
cd login-and-registration
2
Bước 7. Thiết lập yêu cầu đăng nhập
Tiếp theo, chúng tôi sẽ tạo LoginRequest của chúng tôi chỉ cần làm theo lệnh sau bên dưới
cd login-and-registration
3
Bây giờ bạn đã tạo LoginRequest mà bạn có thể tìm thấy ở đây > App\Http\Requests\LoginRequest. php thì tiếp theo, chúng tôi sẽ thêm các quy tắc xác thực của mình. Chỉ cần xem đoạn mã sau đây
cd login-and-registration
4
Như bạn có thể thấy ở trên LoginRequest của chúng tôi. php, chúng tôi có phương thức bổ sung gọi là getCredentials[] chức năng này sẽ hỗ trợ đăng nhập tên người dùng/email như bạn có thể thấy chúng tôi có kiểm tra tên người dùng ở trên xem có email hay không
Bước 8. Thiết lập bộ điều khiển đăng xuất
Để thiết lập bộ điều khiển đăng xuất, chỉ cần sử dụng thiết bị đầu cuối của bạn và chạy lệnh sau
cd login-and-registration
5
Bây giờ, bạn đã tạo LogoutController của chúng tôi mà bạn có thể tìm thấy tại đây > App\Http\Controllers\LogoutController. php bây giờ hãy mở nó và xem đoạn mã sau bên dưới
cd login-and-registration
6
Bước 9. Cài đặt bộ điều khiển tại nhà
Để thiết lập bộ điều khiển đăng xuất, chỉ cần sử dụng thiết bị đầu cuối của bạn và chạy lệnh sau
cd login-and-registration
7
Bây giờ, bạn đã tạo HomeController của chúng tôi mà bạn có thể tìm thấy tại đây > App\Http\Controllers\HomeController. php bây giờ hãy mở nó và xem đoạn mã sau bên dưới
cd login-and-registration
8
Bước 10. Thiết lập tuyến đường
Tiếp theo, chúng tôi sẽ thiết lập các tuyến đường mà chúng tôi có thể tìm thấy ở đây routes/web. php vì chúng tôi đã thiết lập bộ điều khiển và trình xác thực của mình
cd login-and-registration
9Như bạn có thể thấy ở trên trong dòng này "Route. nhóm [['middleware' => ['auth']], function[] {" chúng tôi đã bảo vệ tuyến đăng xuất chỉ có thể truy cập nếu người dùng xác thực. Nếu bạn có các tuyến đường khác cần bảo vệ, chỉ cần thêm vào nhóm tuyến đường này
Bước 11. Thiết lập chế độ xem của chúng tôi
Tiếp theo, chúng tôi sẽ thiết lập chế độ xem của mình bằng Bootstrap với bố cục chủ đề đơn giản. Để biết thêm về tài liệu bootstrap, chỉ cần truy cập tại đây
Bạn cần tạo thư mục bố cục bên trong tài nguyên/lượt xem, sau đó tạo tệp tài nguyên/lượt xem/bố cục/auth-master. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
0
Tiếp theo, tạo tệp resource/views/layouts/app-master. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
1
Tiếp theo, tạo một thư mục mới bên trong tài nguyên/lượt xem/bố cục được gọi là thư mục partials sau đó tạo tệp tài nguyên/lượt xem/bố cục/partials/navbar. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
2
Sau đó, tiếp theo, tạo tệp tài nguyên/lượt xem/bố cục/bộ phận/tin nhắn. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
3
Sau đó, tiếp theo, tạo thư mục xác thực của chúng tôi bên trong tài nguyên/lượt xem, sau đó tạo tệp tài nguyên/lượt xem/auth/đăng ký. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
4
Sau đó, tiếp theo, tạo một tệp tài nguyên/lượt xem/auth/đăng nhập. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
5
Sau đó tạo một thư mục partials bên trong thư mục auth. Sau đó tạo một tệp tài nguyên/lượt xem/auth/partials/copy. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
6
Sau đó, cuối cùng tạo một thư mục chính bên trong thư mục tài nguyên/lượt xem, sau đó tạo một tệp tài nguyên/lượt xem/home/index. lưỡi. php xem đoạn mã sau bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
7
Bây giờ chế độ xem của chúng tôi đã được thiết lập. Tiếp theo, chúng ta cần tải xuống bootstrap và lưu nó trong thư mục public/assets
Đây là ví dụ về tệp bootstrap trong hướng dẫn này
công khai/tài sản/bootstrap/css/bootstrap. tối thiểu. css
công khai/nội dung/bootstrap/js/bootstrap. bó. tối thiểu. js
Hoặc tải về mã nguồn của hướng dẫn này dưới đây
Bây giờ xác thực Laravel của chúng tôi với tên người dùng hoặc thông tin đăng nhập email đã sẵn sàng nhưng chúng tôi có một tùy chỉnh nhỏ khác là chuyển hướng mặc định sau khi đăng nhập. Cái mà chúng ta có thể tìm thấy trong App\Providers\RouteServiceProvider. php sau đó thay đổi mã gốc bên dưới
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
8
đến mã này
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
9
Nhưng hãy lưu ý rằng bạn có thể thay đổi nó. Tôi chỉ cung cấp cho bạn một ý tưởng về cách sửa đổi nó phù hợp với nhu cầu của bạn. Nếu bạn cần chuyển hướng sau khi đăng nhập vào /dashboard hoặc /admin thì bạn có quyền thay đổi nó
Bước 12. Chạy máy chủ phát triển
Cuối cùng, chúng tôi đã thực hiện quá trình xác thực Laravel của mình. Hãy chạy một lệnh tới thiết bị đầu cuối của bạn để chạy máy chủ của bạn và kiểm tra xem mã của chúng tôi có hoạt động không
Schema::create['users', function [Blueprint $table] {
$table->id[];
$table->string['name']->nullable[];
$table->string['email']->unique[];
$table->string['username']->unique[];
$table->timestamp['email_verified_at']->nullable[];
$table->string['password'];
$table->rememberToken[];
$table->timestamps[];
}];
0
Và thêm URL sau vào trình duyệt web của bạn
Schema::create['users', function [Blueprint $table] {
$table->id[];
$table->string['name']->nullable[];
$table->string['email']->unique[];
$table->string['username']->unique[];
$table->timestamp['email_verified_at']->nullable[];
$table->string['password'];
$table->rememberToken[];
$table->timestamps[];
}];
1
Bạn sẽ thấy trang chủ nếu chưa được xác thực như hình bên dưới
Nhưng nếu bạn đã đăng nhập. Sau đó, bạn sẽ thấy chương trình này dưới đây
Bây giờ bạn đã đăng ký Laravel tùy chỉnh và đăng nhập bằng tên người dùng/email có thể áp dụng cho ứng dụng của bạn. Tôi hy vọng hướng dẫn đơn giản này có thể giúp bạn
GHI CHÚ. Đừng quên nhập các lớp sử dụng trong một lớp hoặc bộ điều khiển cụ thể khi sao chép mã của tôi ở trên
Tải xuống mã nguồn
Cảm ơn vì đã đọc. Nếu bạn nghĩ rằng hướng dẫn này là hữu ích cho bạn. Xin hãy chia sẻ nó với bạn bè của bạn
CÓ THỂ BẠN CẦN. Bảng quản trị mã nguồn mở và trình tạo dữ liệu với xác thực và đăng ký hoàn chỉnh