簡體   English   中英

before_filter with devise

[英]before_filter with devise

我正在使用Devise內置的before_filter :authenticate_user! 如果用戶未通過過濾器(嘗試在注銷時執行操作),我想在我的應用程序助手中調用我自己的自定義方法。 我該怎么做?

而不是調用before_filter :authenticate_user! 在你的調用authenticate_user!的控制器中編寫自己的函數authenticate_user! 就像是:

before_filter :logged_in

...

private
def logged_in
  your_function
  authenticate_user!
end

我會在使用user_signed_in?過濾器之前編寫一個自定義user_signed_in? 這只會返回一個布爾值,而不會執行authenticate_user!任何重定向類型操作authenticate_user! 確實。

所以,你可以像這樣編寫一個之前的過濾器:

before_filter :custom_user_auth
...
def custom_user_auth
    unless user_signed_in?
        # Do custom stuff, ultimately restricting access to the 
        # ...protected resource if it needs to be
    end
end

請注意,在過濾器之前,此操作不會保護您的資源免受未經授權的用戶的攻擊, unless聲明的內部區域重定向或呈現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM