情況:rails 3.2應用程序有演示期,之後用戶必須開始爲服務付費。授權的最佳實踐是什麼?
問題:如果用戶沒有添加付款方式,或者沒有選擇付款方案,那麼限制用戶訪問Web應用「付費」部分的建議方式是什麼?
我需要的東西,用戶排序如下:
if user.admin? || user.in_demo || user.has_all_payment_data
# carry on
elsif user.should_add_payment_method
# send them to add payment method page
elsif user.should_choose_plan
# send them to add plan
else
# redirect to home page or whatever
end
我已經開始了與應用程序控制器,檢查每個請求的用戶的支付狀態,並相應地重定向它們放在before_filter
(跳過此在諸如主頁/配置文件編輯等等),但我認爲必須有更好的方式,因爲它變得越來越複雜,並且在應用程序控制器中具有所有這些複雜性時感覺錯誤。我一直在尋找像cancan這樣的用戶角色庫,但是我找不到適合的東西。
depa,感謝您的編輯。只是補充一點,我們已經在用戶/密碼和管理員方面擁有授權 - 我只是不知道將其擴展到包含用戶付款狀態的最佳方式。 – omnikron
我相信你的意思是說你已經有認證,這是別的。 – depa
你很對!我沒有弄清楚這兩個概念之間的區別。這麼多的只是知道什麼條款谷歌... – omnikron