簡體   English   中英

在 ASP.NET MVC 項目中設置具有不同帳戶和視圖的多個公司的最佳實踐

[英]Best practice to set up multiple companies with different accounts and views in an ASP.NET MVC project

我正在使用 ASP.NET MVC 編寫程序。 這是一個簡單的程序,允許調度員跟蹤呼叫和現場單位的狀態。

這就是令人困惑的地方,我希望就最佳實踐提供一些建議。

每個公司的視圖結構將完全相同。 每個公司每次的頁面基本上都是這樣設置的:

------------------------------------------------------------
(Header) Company logo - (buttons to filter this company's data you see in the three tables below)
------------------------------------------------------------
New things to be dispatched table
------------------------------------------------------------
New things that have been dispatched
------------------------------------------------------------
Units you've filtered and are checking statuses for in a table.

很簡單。 然而,雖然每家公司都有相同的視圖結構,但每個用戶的數據會有所不同。 例如,在 header 中,用於過濾三個表的徽標和按鈕對於每個公司都會有所不同。

header 下面的表格將有每個公司的不同數據。

另外,我希望用戶能夠僅訪問其公司的后端(僅為其公司添加/刪除用戶等)

它將被設置,因此我可以為每個人使用相同的數據庫和表。

這是我的問題。 你會為每個公司設置一個新的視圖來定制東西嗎? 例如,您是分配給 X 公司的員工。如果您登錄並在表中擁有該分配,那么您將使用自定義數據和徽標加載您公司的視圖。 我擔心的是冗余。 基本代碼將是相同的,所以如果我必須更新一些全局設置,我將不得不這樣做數百次。

或者您是否使用一堆 if/then 語句設置一個視圖...例如,如果員工屬於 X 公司,則設置此徽標並允許訪問此數據。 如果員工屬於 y 公司,請設置此其他徽標和數據等。問題是數百個 if then 東西和一個很長的視野。

關於最佳實踐的任何想法?

謝謝你的幫助!

我不太確定在你的情況下我會做什么,這也取決於具體情況,原因如下:

如果這些不同的公司是您的不同客戶,可能對 UI 有不同的要求,那么單獨的 UI 將是有意義的。

另一方面,如果您期望他們要求不同的邏輯,那么不同的操作也可能會派上用場。

如果 UI 和邏輯預計對所有這些都保持相同(從長遠來看,通常情況並非如此),那么我會將徽標之類的圖像和所有這些東西存儲在您wwroot文件夾中的公司特定文件夾中,將用戶的公司信息存儲在 session 變量中,然后像這樣加載徽標等: src="/@Session[companyId]/logo.png"

您可以像這樣加載自定義 javascript(例如渲染按鈕),甚至將companyId傳遞給您 ajax 加載表格內容的函數等。

暫無
暫無

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

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