2

ASP.NET MVC 的新功能。我正在寻找一些不完全特定于 MVC 的 UI 设计理念。可能没有确切的答案,但这是我已经开始的。

需要有一个带有 3 个选项卡的页面。权限 | 团体 | 用户

1) 权限视图将允许您对网格中的权限执行 CRUD 操作 仅当权限未在任何组中使用时才允许删除特定权限。

2) 在组视图中,网格中允许对组进行 CRUD 操作。此外,还提供了一个权限链接,允许为组执行映射(添加/删除)权限同样,仅当组未被任何用户使用时,才允许对组执行 DELETE 操作。

3) 在用户视图中,将显示系统中所有现有的用户。网格显示允许按用户名、名字或姓氏搜索用户。应为每个用户提供组链接,单击该链接允许为用户进行映射(添加/删除)组。在同一视图中的此映射下方,应提供单独的权限覆盖部分,以便可以使用 IsGranted (true/false) 添加特定权限。

数据库设计说明:

在此处输入图像描述

1) 组将被分配权限。根据用户所属的组,用户将获得权限。

2) UserPermissionOverrides 将处理以下情况 - 用户需要被授予某些权限(无论他们处于何种角色)或 - 如果需要从用户撤消某些权限,即使他们属于某个组。这将使我们能够灵活地处理添加或删除特定权限的特殊场景。

因此,当用户登录时 - 上面的 1) 将用于检索用户的组权限,然后 2) 将被执行以检索覆盖(授予/撤销)。结合 1) 和 2) 将为我们提供用户的最终权限,然后将其存储在表单身份验证 cookie 中以防止进一步的数据库命中

4

1 回答 1

2

你的模型和功能对我来说都很有意义。但是,我认为您需要重新审视您为界面采用的 UX 原则。

  1. 写一些用户故事,即安全系统的用户打算做什么以及他们需要为这次访问实现什么目标。

  2. 您不必总是将您的 UI 与您的模型紧密耦合,即仅仅因为您以某种方式构建了您的模型,这些实体不需要作为 CRUD 操作的主要对象呈现给用户。系统的用户可能不太可能进来,添加权限并离开。

关于上述内容,我个人会将您的用户权限 UI 作为向导而不是一组选项卡来处理:

  • 第 1 步:选择用户或添加用户。
  • 第 2 步:他们需要哪些角色(提供添加角色的机会)。
  • 第 3 步:他们属于哪些组(如有必要,让他们在此处添加组)。

...或类似的。

基本上,您的目标应该是让您的用户尽快进出系统。我认为创建用户故事和从中收集的向导的行为将是我在系统的 UX 设计中采用的方法。

祝你好运!

于 2013-04-03T21:43:11.553 回答