如何根据网站用户创建单独的视图

How to create separate views depending on user of website

我先使用代码创建了一个项目。

我想创建两个具有独立布局和共享数据库的独立路线。并通过从启动中提供单独的 link 并使用用户身份验证 [Authorize] 和用户身份来管理分离,以帮助控制哪些用户可以访问哪些 link。

这也提供了在内部网上展示员工网站的机会。

但是我根本不希望消费者能够查看这些 link。所以我将视图和控制器分开。

例如:
1. 如果员工正在访问站点,索引主页将是 AdminIndex,使用 _AdminLayout.
2. 如果客户正在访问该网站,它将使用 _Layout

登陆 Index

我相信有更好的方法可以做到这一点。
将其打包在一个项目中是否可行?还是将它们分开更好,在这种情况下我不确定如何共享数据库。

这对同一解决方案中的多个项目来说是尖叫。之后你能走多远取决于项目的规模和你的具体需求,但至少,考虑以下几点:

SolutionName
- SolutionName.Admin
- SolutionName.DAL // Data Access Layer (DAL)
- SolutionName.Frontend / Web

DAL 项目的目的是将您与数据相关的问题集中在一个地方,然后您可以从其他两个项目中引用它。您可以进一步 lot,具体取决于您正在处理的内容的大小和复杂性,但以上内容将作为较小项目的良好起点。

通过执行上述操作,您的代码自然会更清晰、更易于测试和维护,原因很简单,因为您不会在整个代码中散布条件检查以确定某人是否是管理员。