基于用户角色控制GUI项目(表单或基于web的)可见性的好策略是什么



我曾想过用属性来装饰各种控件项,以声明组所有权,但这似乎有点麻烦,而且不太容易扩展/维护(我必须手工对控件进行子类化和装饰)。

另一个策略是将控件可见的组的白名单持久化为数据库中的表单id。然后,可以在我所有表单都继承的基类中检查可见性,从而确保我的类代码不会被这个"管理"弄糊涂

这似乎比必须根据角色编写case/if语句要好得多,以根据用户的权限来确定哪些内容应该对用户可见。这似乎是一个很常见的问题,不知道是否有什么好的模式可以使用。

感谢

考虑Drupal构建基于web的应用程序,其中GUI功能由用户角色控制。Drupal(一个通用的开源内容管理系统和web框架)具有强大的用户管理功能,每个用户都可以被分配一个或多个角色。然后,您可以利用角色来确定web表单的行为以及该角色的某些字段的可用性。具有该角色的用户会看到某些GUI项目,而其他用户则不会。

以下链接作为起点:

  • http://www.drupal.org

  • http://drupal.org/project/webform

我应该补充一点,Drupal可以做很多事情,而不仅仅是这个特定的问题领域。Drupal是一个广泛的框架,用于在自己的主机上建立自己的网站。

相关内容

最新更新