簡體   English   中英

check_authorization 導致自定義設備控制器失敗?

[英]check_authorization causes custom devise controller to fail?

背景

我有一個帶有 devise 和 cancancan 的簡單應用程序。 因為我想在注冊過程中添加一點自定義邏輯,所以我使用了帶有自定義控制器的設計,這只是意味着設計使用用戶控制器(而不是設計控制器)來完成設計所做的所有事情。

問題

當我將check_authorization添加到應用程序控制器,並將skip_authorization_check到所有用戶(設計)控制器時,當用戶嘗試登錄或注銷時,我仍然收到以下錯誤:

在此處輸入圖片說明

有誰知道如何skip_authorization_check這些控制器的skip_authorization_check (我已經在每個用戶(設計)控制器中使用了skip_authorization_check ,我認為可以這樣做,所以我不知道該嘗試什么

在寫這個問題的過程中,我找到了 90% 的答案,所以想把它貼出來,以防將來對其他人有幫助。

答案是,只需使用相同的方法以常規方式跳過設備上的授權檢查(即使使用自定義設備控制器),即只需將其添加到 application_controller

check_authorization unless: :devise_controller?

使用這種方法時,似乎沒有必要將skip_authorization_check手動添加到每個設計(或自定義設計)控制器。

暫無
暫無

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

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