权限概要设计

声明:纯属个人之作,瞎扯,请大家提提意见!

权限概要设计
第一章:引言
权限设计是web应用程序首先要考虑的、并且必须要考虑的。但是经过在网上的查找始终没有找到很好的解决方案,所以经过我们开发小组的讨论的总结,现提出一套关于web应用程序权限管理的设计方案。本文档作为网站平台开发小组在开过程中的指导性文档,也可以作为以后相关项目开发时的参考性文档。
1. 1定义
XML :XML是Extensible Markup Language的简写,一种扩展性标识语言。
1. 2参考资料
互联网上相关资料。
第二章:系统结构
一般情况下我们的web应用程序文件目录结构图如下:

如上图所示,每一功能模块都有自己的权限配置文件,文件类型为xml文件。
第三章:实现步骤
假设现在有一网站,其子模块包括论坛、留言版和聊天室。
首先项目小组在开发论坛时经过周密思考和实地调研之后确定论坛的功能和权限划分。此时开发人员对该子模块编写相应的权限文件,此权限文件包括该子模块的所有权限。权限文件格式为xml文件。如果该论坛权限划分如下:网管、子论坛管理员、普通用户。其中网管具有添加、修改或删除子论坛、修改子论坛的管理员权限。子论坛管理员具有删除本论坛内的垃圾贴、选择精华贴等。普通用户只有浏览贴子的权限。权限配置文件可以简要编写如下:
<?xml version="1.0" encoding="GB2312"?>
<bbs>
<title name=’网管’>
<des>添加子论坛</des>
<des>删除子论坛</des>
……………..
<des>修改子论坛管理员</des>
</title>
<title name=’子论坛管理员’>
<des>删除垃圾贴</des>
<des>选择精华贴</des>
</title>
<title name=’普通用户’></title>
</bbs>
说明:网管不能实际执行子论坛管理员的权限
开发人员编写权限配置文件之后放在子模块相应的权限文件目录中。之后,开发人员在论坛模块的开发中就按照此权限文件的内容开始实际的详细设计工作。
现在开始留言版子模块的开发。同样,留言版子模块的开发也需要经过周密思考和实地调研来决定留言版需要那些功能和权限。当把留言版的功能和权限完全确定下来之后,就开始着手编写留言版的权限配置文件。此权限配置文件也是xml格式的。如果留言版的权限划分为网管、留言版管理员、普通用户三级。其中网管可以分配留言版管理员和修改留言版管理员。留言版管理员可以察看所有的留言,并且可以选定某一留言进行回复或者删除某一不良的留言内容。普通用户只有察看留言内容和添加留言。现在权限配置文件可以简要编写如下:
<?xml version="1.0" encoding="GB2312"?>
<leaveword>
<title name=”网管”>
<des>分配留言版管理员</des>
<des>修改留言版管理员</des>
</title>
<title name=”留言版管理员”>
<des>删除留言</des>
<des>回复留言</des>
<des>察看留言</des>
<title name=”普通用户”>
<des>察看留言</des>
</title>
</title>
</leaveword>
同样开发人员编写完权限配置文件之后放在留言版子模块相应的权限文件目录中。之后,开发人员开发留言版模块时就按照此权限文件的内容开始实际的详细设计工作。
当然,聊天室也按照同样的方法进行。
当所有的子模块全部完成之后,开始配置系统权限。
过程如下:
首先系统管理进入系统的权限分配界面。此时通过javascript把每个子模块的权限配置(xml)文件解析为直观的选择界面。如:论坛权限显示如下

此时管理员就可以给特定用户分配相应的用户角色。当管理员提交之后,通过后台的处理程序把提交内容解析为相应的xml文件。此文件名为:用户名+标记.xml,存放在系统权限目录中。同样,管理员也可以给此用户分配其它子模块的用户角色;如果此用户的权限文件存在就追加到已存在的文件中,如果此用户的权限文件不存在就创建新的用户权限文件。如下图:

系统权限目录图 2
当被成功分配完用户权限之后的用户1登陆的时候,系统通过系统权限目录中的用户1的权限文件显示相应功能。