C#MVC 5中的用户权限/类型逻辑

问题描述 投票:1回答:1

我正在开发一个使用MVC 5的小项目。我有一个Projects / Details页面,显示给定项目的信息。每个项目都有多个成员,可以有3个成员类型。这些类型在页面上提供不同的信息和功能。我当前的临时解决方案是基本的,在我的View中我有一个if语句来检查登录用户的类型并相应地显示部分视图。对我来说这个解决方案感觉有点“hacky”,我相信有更好的方法。所以我的问题是:你将如何实现这样的功能?

谢谢。

c# asp.net model-view-controller partial-views
1个回答
0
投票

您可以通过三种方式来解决此问题。

1)即使你认为你提出的解决方案是“hacky”,它实际上并不是一个坏主意。我亲自在一个项目中做过。我根据用户的角色创建了部分视图;但是,您将在视图中添加额外的业务逻辑。尝试尝试一下,看看它在部署时的表现。这应该是你的第一次尝试,因为它实际上是你的想法,并通过实验你将学到很多东西。

2)您是否尝试在控制器中检查用户的角色,并根据返回特定视图的角色?在这种情况下,业务逻辑将保留在控制器中,这被认为是一种很好的做法。

3)即使我不知道您是使用ORM(实体框架)还是直接连接到SQL数据库,尝试使用存储过程检索成员的角色并检查其在DB处理程序类中的角色。

如您所见,有三种方法可以检查成员的角色。

最后,我建议您阅读有关声明/基于角色的授权。它可能会在未来的项目中帮助您:

https://www.c-sharpcorner.com/article/Asp-Net-mvc5-role-base-accessibility/

© www.soinside.com 2019 - 2024. All rights reserved.