欢迎来到Kittow的部落格! - http://blog.skyhe.com
Agile Web Development (敏捷Web开发)
Want to Know Something More? Move Your Mouse Here;)我是天空的一片云,偶尔投影在你的波心,你记得也好,最好你忘掉,你我在交汇时,互放的光亮。
——徐志摩《偶然》 More...
ASP | ASP.NET | PHP |
ColdFusion | Perl | Python |
我是天空的一片云,偶尔投影在你的波心,你记得也好,最好你忘掉,你我在交汇时,互放的光亮。
——徐志摩《偶然》 More...
1:用户类型
2:权限设置
3:发布流程 用户类型 通常内容管理系统根据对象的差异,将用户权限、流程等相关属性也有很大的差异。但基本上可以概括为三个主要的角色属性:
1:信息员 (主要收集、编辑、整理发布文章,文章录入等工作)
2:审核者 (主要对相应权限内的文章进行审核)
3:管理者 (可以说是系统级的管理员)
权限设置 信息员的权限一般为对某个频道或栏目进行文章发布/再次编辑(限自己)。
审核这的权限一般是对某个频道或栏目进行文章的审核、修改、删除。(此权限有些时候是有管理员来兼任)
管理者的权限一般是兼以上两种权限,并拥有发布及对频道或更多功能的操作。 大部分系统中只对这几块进行选择。系统内部规定好了角色特性。虽然这可以满足大部分的用户需求,但是这无法满足站点后台管理员复杂特性的要求。这个时候如果希望对每个角色属性都拥有可扩展,可操作性。就必须重新考量。 发布流程 基本流程:
撰写文章 修改/删除 发布新闻
信息员 ------------> 审核员 -----------> 管理员 ------------> 浏览者 在我在开发过程中。我根据自身的了解想出了一个新的解决方法。可以满足大部分需求。 系统每个功能都做为一个单元。每个单元都有自己的配置文件。当然因为是CMS系统。就要提供最基础的功能。比如:站点,频道,角色,用户,文章及模块管理几块。 根据模块的安装。系统角色可以找出已安装的模块类别。并根据类别中所定义的权限属性分配给角色属性。这样完成了角色的自定义。可以根据用户自己的需求完成不同的属性要求。 用户 用户可能的情况大部分有两个。一个是根据组来划分。一个是根据该用户的特殊需求划分。我这里提供了两种方法。
及选择系统用户所创建出的角色。在把相应的用户添加到相应的角色组里。这样需要建立多个角色组即可满足不同角色的需求。权限也同样可以细分到每个单元。这里的属性就是根据模块的配置文件所定义。 下面就简单说明一下该设计的优缺点。
传统模式
优:使用性好。后期维护成本低。
缺:扩展性差。无法根据系统本身创建出完全的自己定义的角色。以降低了系统的安全性。
能满足后台管理用户要求不高的站点的需求 模块单元+角色+用户模式
优:使用效率高,扩展性强。可以满足各种对角色或用户的需求。提高系统的完全性。
缺:后期维护成本低,容易导致数据冗余。
能满足大部分站点及对用户复杂配置的需求
http://www.contnew.com/resource/other/2004/10/10/13_52818_01.html