ruby-on-rails devise - 設計 - 如何禁止某些用戶登錄?




2 Answers

像這樣做:

User模型創建一個名為is_active的列。

然後將下面的代碼添加到User模型中:

class User < ActiveRecord::Base
  #this method is called by devise to check for "active" state of the model
  def active_for_authentication?
    #remember to call the super
    #then put our own check to determine "active" state using 
    #our own "is_active" column
    super and self.is_active?
  end
end

UPDATE

正如馬特哈金斯指出的那樣,該方法現在稱為active_for_authentication?Documentation

new_with_session oauth

我在應用程序中使用Devise進行身份驗證。

如何禁止某些用戶登錄 - 禁用用戶的方式?




你想做授權,而不是認證。 儘管如此,設計只是為了驗證。
即設計只告訴你,一個用戶是他說他是誰。
你需要別的東西來禁止他使用該網站。

授權是一個流行的話題,並有一個可以幫助你的寶石列表:
http://ruby-toolbox.com/categories/rails_authorization.html
拿你的選擇。




Related

ruby-on-rails devise