权限的设计模式

时间:2011-04-29 16:04:42

标签: design-patterns web

我想建立一个拥有几种不同用户的网站,例如:

  • 管理员 - 可以在网站上执行所有操作
  • 注册用户 - 可以在他的页面上执行所有操作。
  • 未注册用户 - 只能查看网站。

是否存在适合此情况的设计模式,以及它如何适用于我的方案?

3 个答案:

答案 0 :(得分:1)

设计模式不是解决问题的灵丹妙药。它们是经过试验和测试的方法,可以将敏感的软件工程实践应用到代码设计中。

答案 1 :(得分:1)

如果用户执行的每个操作都可以映射到URI,那么您可以拥有一个安全层,或者使用可以配置URI到角色映射的框架来允许访问。

如果它处于行为级别,您可以在此处使用代理设计模式。当您希望基于安全检查进行快速失败时,它将代理完整对象的实现。 但是,如果对象对不同的用户表现不同,则可以使用装饰器实现来处理各种不同的方法。

如果你想获得一个可能在结构上改变的对象的不同版本以及各种角色,那么可以使用一系列访问者。访客模式可适用于此处。

答案 2 :(得分:0)

这是一个vaue问题,但也许你可以看一下状态设计模式。当用户只具有读权限时,您将加载只读状态类。当用户具有写访问权限时,请使用写状态类。