2009-11-26 33 views

Trả lời

3

Có vẻ như điều này Blogpost mô tả những gì bạn muốn đạt được.

Mô hình người dùng sử dụng perishable_token được sử dụng cho url xác minh được gửi đến địa chỉ thư của người dùng khi tạo tài khoản. Khi người dùng nhấp vào url trong thư, nó kích hoạt hành động đặt mô hình người dùng tương ứng thành verified

Về cơ bản bạn cần xác thực UserSession s tùy thuộc vào việc User tương ứng đã được xác minh hay chưa.

Xem:

+0

Bài đăng tuyệt vời! Điều này thực sự hữu ích! –

0

Bạn có thể tìm thấy auth_helpers hữu ích. Đó là "một bộ sưu tập các mô-đun và bộ điều khiển để mở rộng các mô hình Authlogic của bạn. Hiện tại nó hỗ trợ hành vi có thể xác nhận và khôi phục".

+1

lưu ý rằng dự án auth_helpers dường như bị nhà phát triển ban đầu bỏ qua và hầu như tất cả các liên kết trong readme đều bị hỏng – srboisvert

1

Liên kết được đề xuất bởi Lennart là một nơi khởi đầu tốt. Tuy nhiên trong nháy mắt nhanh chóng vào mã tiết lộ những hãy cẩn thận:

  1. Notifier#deliver_password_reset_instructions là chưa thực hiện chưa được gọi từ User#deliver_password_reset_instructions!
  2. Notifier là một lớp kém được đặt tên. Một Mailer thường gửi thông báo, vì vậy tôi khuyên bạn nên đặt tên cho lớp người dùng Mailer UserMailer để chỉ ra những gì nó đang gửi thư. Cũng như Mailers hiện đang cư trú trong các ứng dụng/mô hình (cho đến Rails 3.0), việc thêm Mailer vào tên lớp làm cho nó rõ ràng rằng nó thực chất là một lớp thư và không phải là một mô hình ActiveRecord.
  3. Người gửi không được ở trong mô hình. Họ nên có trong hành động điều khiển của bạn. Ask DHH.

Chúc may mắn! Hỏi xem bạn có gặp khó khăn không.

0

Rất muộn cho câu hỏi nhưng here là mẫu có xác minh email tự động.

1

Có lý do nào khiến bạn không thể có UserObserver (hoặc ActivationObserver nếu bạn có nhiều mô hình xác thực không - ví dụ: quản trị viên, người dùng, đại diện dịch vụ khách hàng, v.v.) đã gửi email ra khi ai đó được tạo?

Các vấn đề liên quan