0

我正在構建一個基於symfony的網站,其中包含用戶和管理員。通常,我會讓他們使用相同的應用程序,並通過檢查他們的權限(我正在使用sfGuard插件)爲管理員顯示不同的頁面。會有一個單獨的應用程序適合symfony網站的管理員?

管理員使用與其他用戶相同的模塊,但視圖不同。管理員可以搜索所有用戶數據,並可以一次查看所有用戶。他們也可以編輯任何東西。

但我想知道是否最好只爲管理員使用後端應用程序? jobeet教程就是這樣做的。所以管理員會去這個後端應用程序,而不是其他人使用的其他應用程序....

每種方法的優缺點是什麼?

謝謝。

+0

誠實?我不認爲這很重要。 – cwallenpoole

回答

1

如果您沒有使用後端管理生成器,我會將所有內容都保存在前端應用程序中,因爲在這種情況下我看不到有單獨的後端應用程序的主要優點。您可以將前端應用程序中的普通用戶和管理員的用戶體驗分開,從他們自己的登錄頁面到「管理員模式」模板視圖等等。sfDoctrineGuard附帶組和權限,因此很容易設置。另外,您不需要在後端應用程序中複製前端應用程序設置,只是爲了使事情以相同的方式工作。

+0

管理生成器的方法與您在此說的不同嗎? – Dziamid

+0

@Dziamid:基本上一個是後端應用程序中的symfony生成的管理員,另一個是在前端應用程序之上構建的一層定製,具有大致相同的外觀和感覺,但增加了「編輯」鏈接和其他任何其他內容。 – Tom

0

這個決定是一個平衡的行爲。最好的答案取決於兩種類型的用戶之間的功能和權限有何不同。如果您的網站非常複雜,那麼在單獨的應用程序中編寫,維護和測試代碼將變得更加容易。如果只有一些小的差異,你會更喜歡只維護一個應用程序的簡單性。

例如在我們的系統中,我們有我們自己的系統管理員,他們可以做的事情遠遠超過客戶「管理員」。客戶用戶擁有不同的權限級別,管理員級別最高。但是,即使是那些客戶也無法訪問我們的後端,這些後端有許多他們看不到的模塊,以及完全不同的表單集。我們甚至在不同的虛擬主機名上運行這些應用程序,即使它們在同一個Symfony項目中。

擁有這樣的獨立應用程序,您可以通過讓客戶完全脫離後端及其所有模塊來更容易地確保安全性。我們有一些在後端和前端相似的模塊,但客戶端必須有更多的自定義限制,以便他們可以查看/編輯記錄&,以使其遠離其他客戶的數據。

如果我們試圖將所有這些客戶限制與我們的超級特權功能混合在一起,那麼我們就會面臨複雜的條件和查詢的噩夢,而且容易犯錯誤並允許客戶訪問它們,具有。

相關問題