Xác thực là chức năng cần thiết với trang web của hầu hết. Trong bài viết này, Mình sẽ tìm hiểu về xác thực & tạo ra một ứng dụng đăng ký & đăng nhập nhỏ sử dụng Laravel 4
Link tham khảo. Xác thực trong laravel
Các bài viết trước
ORM TUYỆT VỜI TRONG LARAVEL, VÍ DỤ
BLADE TEMPLATING, MOVATIONS VÀ SEEDING TRONG LARAVEL
PHIÊN, BIỂU MẪU, XÁC NHẬN TRONG LARAVEL
Cấu hình file tại đường dẫn
app/config/auth.php
Lưu trữ mật khẩu
$password = Hash::make['secret'];
Kiểm tra mật khẩu đã được mã hóa
if [Hash::check['secret', $hashedPassword]]
{
// The passwords match...
}
Kiểm tra xem mật khẩu có cần được mã hóa lại không
if [Hash::needsRehash[$hashed]]
{
$hashed = Hash::make['secret'];
}
Xác thực người dùng
Để người dùng đăng nhập được vào ứng dụng ta sử dụng phương thức
Auth::attempt
if [Auth::attempt[array['email' => $email, 'password' => $password]]]
{
return Redirect::intended['dashboard'];
}
Ghi chú. Email không phải là lựa chọn cần thiết, bạn có thể sử dụng tên người dùng trong cơ sở dữ liệu thay thế cho email
chuyển hướng. dự định sẽ chuyển hướng người dùng đến URL mà họ đang cố gắng truy cập
Khi nỗ lực phương thức được gọi thì sự kiện auth. nỗ lực sẽ được thực hiện. Nếu chứng thực thành công thì người dùng được đăng nhập, nếu không thì sự kiện xác thực. đăng nhập thực thi
Kiểm tra xem người dùng đã đăng nhập hay chưa
if [Auth::check[]]
{
// The user is logged in...
}
Certified user and "Remembering"
Nếu bạn muốn sử dụng chức năng “nhớ tôi” trong ứng dụng của bạn. Bạn phải truyền đối số thứ 2 true vào phương thức
try, it will giử cho người dùng chứng thực là vô thời hạn, [hay cho đến khi bạn đăng xuất đăng xuất ra]. Tất nhiên trong bảng user, bạn cần có trường memory_token, để lưu token “nhớ tôi”
if [Auth::attempt[array['email' => $email, 'password' => $password], true]]
{
// The user is being remembered...
}
Ghi chú. Nếu phương thức trả về là true thì user coi như đã đăng nhập vào ứng dụng
Kiểm tra người dùng đã được chứng thực qua bộ nhớ
________số 8Xác thực người dùng với các điều kiện
if [Auth::attempt[array['email' => $email, 'password' => $password, 'active' => 1]]]
{
// The user is active, not suspended, and exists.
}
Truy cập người dùng đã đăng nhập
$password = Hash::make['secret'];
0Truy vấn tới ID user đã được chứng thực
$password = Hash::make['secret'];
1Đã đăng nhập vào ID sử dụng ứng dụng
$password = Hash::make['secret'];
2Kiểm tra điều kiện trước khi đăng nhập
$password = Hash::make['secret'];
3Người dùng đăng nhập cho một lần yêu cầu
Bạn truy cập vào ứng dụng với yêu cầu 1 lần, không cần khởi động phiên hoặc cookie
$password = Hash::make['secret'];
4Logout khởi động lại ứng dụng
$password = Hash::make['secret'];
5Nếu bạn muốn đăng nhập với một người dùng đã có trong ứng dụng, bạn có thể sử dụng phương thức đăng nhập
$password = Hash::make['secret'];
6Bảo vệ tuyến đường
Bộ lọc tuyến đường được sử dụng để ngăn chặn tuyến đường của người truy cập, buộc người dùng phải chứng thực trước khi truy cập
$password = Hash::make['secret'];
7Laravel cung cấp phương thức đơn giản để bảo vệ ứng dụng của bạn không bị CSRF tấn công
Trong biểu mẫu cần có token CSRF
$password = Hash::make['secret'];
8Trước khi gửi cần kiểm tra mã thông báo CSRF
$password = Hash::make['secret'];
9VD. Xây dựng ứng dụng đăng ký đăng nhập
ở bài trước mình đã hướng dẫn ghép giao diện sử dụng bootstrap và cách tạo table user
BLADE TEMPLATING, MOVATIONS VÀ SEEDING TRONG LARAVEL
bài này mình sẽ sử dụng nó và xây dựng ứng dụng demo
B1. Kết nối cơ sở dữ liệu
B2. Tạo người dùng bảng
Để tạo 1 lần di chuyển, chúng ta sử dụng câu lệnh di chuyển. make in command line
if [Hash::check['secret', $hashedPassword]]
{
// The passwords match...
}
0đã tạo Di chuyển. 2014_11_25_170759_create_users_table is. of name file is current at create a file
ta vào thư mục app/database/migrations/ sẽ thấy file 2014_11_25_170759_create_users_table. php được tạo ra
open file
2014_11_25_170759_create_users_table. php add to method Up[] as after
if [Hash::check['secret', $hashedPassword]]
{
// The passwords match...
}
1B3. thực thi câu lệnh
if [Hash::check['secret', $hashedPassword]]
{
// The passwords match...
}
2kết quả trong cơ sở dữ liệu
Tạo trang đăng ký
Tạo Đăng ký Xem
Trong app/views create a new file name register. lưỡi. php and set the code after in that
if [Hash::check['secret', $hashedPassword]]
{
// The passwords match...
}
3Bộ điều khiển người dùng
Tạo UserController mới trong thư mục app/controllers và trong đó, chúng ta xác định lớp UsersController