2010-11-22 18 views
3

我們有一個多租戶應用程序(大量用戶都訪問自己的數據,類似於Basecamp)。將數據保護到Rails中的特定域

問題是,Rails中最簡單最簡單的方法是確保用戶只能看到自己的帳戶數據?是否需要檢查每一個查詢?

回答

3

要做到這一點的一種方式:

  • 使用子域名,所以其customer.domain.com ....然後在您的應用程序控制器,有一個過濾器,會發現子域,並設置一個前@客戶變
  • 始終從客戶獲取數據,所以你說@ customer.quotes.find(PARAMS [:編號])......而不是Quote.find(PARAMS [:編號])

所以是的,在多租戶數據庫中,您需要檢查每個查詢。

0

您可以使用子域,但您可以使用current_user,具體取決於您的身份驗證方法。解釋。

我沒有登錄,現在我有我的current_user。用戶有很多帖子。所以現在,如果我想找到我所有的帖子,我應該做current_user.posts.all或current_user.posts.find()。

不要依賴Cookie或「隱藏路徑」,因爲它不起作用。編寫測試以檢查您是否未破壞授權模式。