[英]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.