繁体   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