簡體   English   中英

如何訪問未確認的用戶和已確認的用戶(Rails / Devise / cancan / rolify)

[英]How to access users who did not confirmed and those who confirmed (Rails/Devise/cancan/rolify)

我正在Rails上構建一個日常交易應用程序來訓練自己使用Ruby on Rails。

我已經使用devise / cancan / rolify安裝了身份驗證。

我想在cancan中創建兩種類型的用戶

  • 確認的用戶
  • 尚未確認的用戶

我怎樣才能做到這一點? 如何訪問具有和未確認其帳戶的設備用戶(即點擊通過電子郵件發送給他們的激活鏈接)。

無需為confirmedunconfirmed添加角色。 你可以使用user.confirmed? 在你的ability.rb文件中控制授權:

# models/ability.rb

if user.confirmed?
  can :manage, Model
end

if !user.confirmed?
  can :view, Model
end

注意:你可以使用if/else結構,但我更喜歡保持我的規則很好地分開。

關於你的評論,你重新實現了已經完成的工作。 使用cancan,您可以使用load_and_authorize_resource (請參閱: 此處 )。

class ProductsController < ActionController::Base
  load_and_authorize_resource
end

而已。 如果用戶嘗試在沒有所需權限的情況下進行訪問,則會收到“未經授權”的響應。

我強烈建議您閱讀rolifycancan的文檔。

暫無
暫無

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

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