2015-07-04 68 views

回答

3

Warden將用戶標識和加密密碼存儲在用戶cookie中並對其進行簽名。這意味着改變他們的密碼會將他們簽出。

請注意,如果你複製他們的加密密碼,並把它放回去以後,他們仍然有餅乾,他們會回來的什麼也沒有發生。

如果無法更改密碼,恐怕你不能沒有一些魔法做到這一點(如放一段代碼,只會在他們的用戶ID運行並記錄出來)。

0

假設您已經部署了一些關鍵修復程序並需要註銷所有用戶,您可以在application_controller.rb中添加一些黑魔法,但請確保PM沒有看到它,因爲他會燒着你;

before_action logout_users, if: :user_signed_in? 

def logout_users 
    expire_date = DateTime.strptime(last_deploy_time) 
    sign_out current_user if current_user.current_sign_in_at < expire_date 
end 
1

我發現,剛剛更新的密碼將退出帳戶用戶。

user = User.find <x> 
user.password = "<new password>" 
user.save 

在刷新頁面時,您會看到用戶已註銷。如果您要將其設置爲之前的狀態,用戶仍會保持註銷狀態。