Ruby on Rails

Xác thực & Phân quyền

Devise (phiên web), has_secure_password, cookies, JWT (xác thực API), Pundit, CanCanCan

22 câu hỏi phỏng vấn·
Mid-Level
1

Devise là gì trong hệ sinh thái Rails?

Câu trả lời

Devise là một gem xác thực linh hoạt và đầy đủ cho Rails, được xây dựng trên Warden. Nó cung cấp các module được cấu hình sẵn để xử lý đăng ký, đăng nhập, khôi phục mật khẩu, xác nhận email, khóa tài khoản và hơn thế nữa. Devise là giải pháp xác thực phổ biến nhất trong hệ sinh thái Rails nhờ sự dễ dàng tích hợp và tính module hóa.

2

Những module Devise nào được sử dụng phổ biến nhất trong một ứng dụng Rails tiêu chuẩn?

Câu trả lời

Devise cung cấp một kiến trúc module hóa, trong đó mỗi tính năng là một module có thể tách rời. Các module phổ biến nhất là database_authenticatable (xác thực bằng mật khẩu), registerable (đăng ký), recoverable (khôi phục mật khẩu), rememberable (cookie 'ghi nhớ tôi'), validatable (xác thực email và mật khẩu), confirmable (xác nhận email) và lockable (khóa sau khi thất bại).

3

Làm thế nào để bảo vệ một action của controller để chỉ người dùng đã đăng nhập với Devise mới truy cập được?

Câu trả lời

Devise cung cấp helper authenticate_user! có thể được sử dụng như một before_action trong các controller. Bộ lọc này kiểm tra xem người dùng đã đăng nhập hay chưa và chuyển hướng đến trang đăng nhập nếu chưa. Nó có thể được áp dụng cho tất cả các action hoặc giới hạn bằng only hoặc except. Tên helper phụ thuộc vào model (authenticate_admin! cho model Admin).

4

Helper Devise nào cho phép truy cập người dùng đang đăng nhập trong một view hoặc controller?

5

Làm thế nào để tùy chỉnh các view của Devise (biểu mẫu đăng nhập, đăng ký, v.v.) trong ứng dụng Rails?

+19 câu hỏi phỏng vấn

Nắm vững Ruby on Rails cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí