Tôi đang sử dụng thiết lập và tạo trường Người dùng được gọi là: hoạt động đúng hoặc sai. Tôi phải tự làm cho người dùng hoạt động (đúng) trước khi người dùng được phép đăng nhập. Ít nhất đó là mục đích. Tôi đã thử điều này ...Kiểm tra xem người dùng có hoạt động không trước khi cho phép người dùng đăng nhập bằng cách đặt ra (đường ray)
class SessionsController < Devise::SessionsController
# POST /resource/sign_in
def create
"resource/signin CREATE"
self.resource = warden.authenticate!(auth_options)
unless resource.active?
sign_out
redirect_to :sorry_not_active_url
return
end
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
Tuy nhiên, điều này không bắt được những nơi người dùng có thể đăng nhập, ví dụ: khi người dùng thay đổi mật khẩu, trang web sẽ tự động đăng nhập tự động sau đó. Tuy nhiên, nếu người dùng không hoạt động, tôi không muốn họ được phép đăng nhập, mà đúng hơn là được chuyển hướng đến sorry_not_active_url.
Cách nào tốt nhất để ngăn người dùng đăng nhập nếu người dùng không hoạt động?
Cảm ơn bạn.
Điều tuyệt vời này! có cách nào để kiểm tra các trạng thái khác nhau, như, đang hoạt động, không hoạt động, đang chờ xử lý, bị từ chối bằng cách tạo trường có 4 giá trị khác nhau và phân phối thông điệp khác nhau cho mỗi trạng thái không? – user2012677
sau khi suy nghĩ về nó, tôi giả sử tôi có thể làm cho def tham chiếu inactive_message một lĩnh vực, và lĩnh vực này có thể có một tin nhắn tùy chỉnh cho mỗi người dùng. Điều này có vẻ đúng không? – user2012677
Nghe có vẻ như nó sẽ hoạt động – house9