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

时间:2015-09-06 13:07:19

标签: asp.net asp.net-mvc asp.net-mvc-5.2

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

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

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

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

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

登陆_Layout

folders

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

1 个答案:

答案 0 :(得分:2)

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

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

DAL项目的目的是将您的数据相关问题集中在一个地方,然后您将从其他两个项目中引用这些问题。您可以根据您正在处理的工作的大小和复杂程度进一步采用批次,但上述内容将成为较小项目的良好起点。

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