【问题标题】:User - Group - Permission User Interface design for ASP.NET MVC用户 - 组 - ASP.NET MVC 的权限用户界面设计
【发布时间】:2013-03-25 11:02:10
【问题描述】:

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

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

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

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

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

数据库设计说明:

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

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

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

【问题讨论】:

  • 您的问题到底是什么? “评论我做了什么/我在想什么”对于 StackOverflow 来说过于宽泛。

标签: asp.net-mvc model-view-controller user-interface


【解决方案1】:

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

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

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

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

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

...或类似的。

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

祝你好运!

【讨论】:

  • 谢谢。我将根据您的意见进一步工作。我不完全确定我的观点应该是什么样的。我应该创建几个不同的局部视图...不确定
  • 我将为您的向导的每个步骤创建一个局部视图,并使用 Ajax 在向导中移动以提高速度和效率。
猜你喜欢
  • 2010-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
  • 2010-10-07
  • 1970-01-01
  • 2013-10-07
相关资源
最近更新 更多