我曾考虑过使用属性来装饰各种控制项以声明组所有权,但这看起来有点繁琐且不可扩展/可维护(我必须对控件进行子类化并手工装饰它们)。
另一个策略是拥有一个白名单组,一个控件可见,可以持久抵消数据库中的表单ID。然后可以在我的所有表单都继承的基类中检查visiblity,从而确保我的类代码不会被这个“管理员”弄糊涂
似乎比根据角色编写case / if语句要好得多,以确定用户可以根据他们的特权在原地看到什么。 这似乎是一个非常普遍的问题,并且想知道是否有任何好的模式可供使用。
由于
答案 0 :(得分:1)
考虑使用Drupal构建基于Web的应用程序,其中GUI功能由用户角色控制。 Drupal(一般的开源内容管理系统和Web框架)具有强大的用户管理功能,可以为每个用户分配一个或多个角色。然后,您可以使用角色来确定Web表单的行为以及该角色的某些字段的可用性。具有该角色的用户将看到某些GUI项目,而其他人则不会。
要遵循的一些链接作为起点:
我应该补充一点,Drupal可以做很多事情而不仅仅是这个特定的问题区域。 Drupal是一个广泛的框架,用于在您自己的托管上构建您自己的网站。