2010-03-19 61 views
1

我正在創建一個Web應用程序,並且我開始製作後端選項。現在有很多方法可以解決這個問題,所以我正在尋找一些優點和背後的做法。爲應用程序後端創建什麼選擇

一些問題,我有涉及:

  • 我應該做一個單獨的表在db admin用戶的
  • 我應該延長使一些類加載管理數據和普通數據,或使單獨的類管理部分
  • 我在哪裏可以得到使不同類型的用戶
  • 只是一些最佳實踐的後端
一些信息10

我的應用程序是用PHP數據庫編寫的。

回答

0

爲管理員用戶保留一個單獨的表是很好的,但只有當那些管理員用戶不是「普通」用戶時 - 否則你會踩在你自己的腳趾上,試圖保持用戶名/ ID唯一但有點連接。

幾件事情要考慮:

  • Apache authentication(或Windows帳戶上的IIS)admin用戶的。完全獨立的系統,但允許重疊 - 普通用戶可以是普通用戶,但只有通過瀏覽器進行身份驗證之後,他們才能訪問任何管理功能。如果您只有幾種特定的用戶角色(例如僅限成員&管理員),則可以正常工作。

  • 一個表中的所有用戶,但角色和權限分開。這是最靈活的,因爲您可以根據需要獲得細粒度。例如,任何用戶都可以「發表評論」,而管理員可以「刪除評論」和「禁止用戶」,但主持人只能「暫停評論」和「靜音用戶」。當您添加新功能時,只需要實施一些新的權限&分配給角色。 Drupalaccess control確實很好,值得仔細觀察。

0

的一個好辦法做到這一點是在用戶表「排名」添加一個新的領域,從而,也可能是不同的工作人員水平,如主持人之間的普通用戶與工作人員之間的區別,管理員等,如果你需要它。因爲管理員應該能夠執行用戶可以執行的所有功能。使用

class Admin extends User { } 

如果您想添加特定於職員的附加功能。

至於後端功能,這取決於您的網站設置。如果您使用的是框架,則可以將新功能添加到現有控制器,並僅限具有特定等級的用戶訪問。

例如,您可能有ForumPost對象的控制器,但調用ForumPost delete()函數將要求用戶成爲論壇管理員。

如果您不使用框架,您可能必須爲您需要的每個後端功能製作自己的頁面。

相關問題