简单权限系统设计(二)数据库设计简单解说

首先,新年好,哈哈。

很高兴,有人能关心偶的文章,能对大家有帮助是最好的了,当然还是要申明,本人不对该文章的正确与否打任何包票,有任何问题欢迎留言。

先放上数据库脚本.sql

结束唠叨,下面进入主题。

既然是简单的权限系统,那么就从最简单的地方开始,一步步完善系统的数据库设计。

任何一个权限系统都至少有用户吧,呵呵,不然还叫什么权限系统呢。

用户信息

大致需要以上这些属性,因为是比较简单的,所以就没弄多少,如果需要扩展,可以使用profile来实现。

 

然后就是角色属性及角色属性和用户属性的绑定,形成角色用户的联系。

按部就班的来,role_info表主要的属性就id,level,level用于标志用户角色等级,是个比较有用的属性,在逻辑操作中可以较明确的实现树形权限层次的展开。

 

下面就是存储用户行为的action表了,存储需要的操作权限,基本上如下,有需要更加细密度的操作可以自己酌情添加。

至此,大家可以看到基本上一个框架就形成了,下面要做的就是怎么填充了。

由于系统简单,需要管理的主要有页面目录,即需要一个menu表,然后还需要一个catalog表来实现对自己增加的项目的管理,如文件保存等,根据自己需要来增加表。

下面以我使用的文档存储目录catalog_info表来说明,catalog_info表如下:

主要就是father_id,id,level,使用father_id是为了实现树形的权限,也便于操作,在以后的文章中我会详细的说。

所有的操作都是通过角色来操作的,当然也是可以单独通过对用户来操作权限。

role_action_catalog表3个属性来实现 动作——角色——目录的权限定义。

permission_catalog_info表实现 动作——用户——目录的权限定义。

具体数据约束看数据库整体视图。

 

到这里一个简单的细分到角色和用户的权限数据库就完成了。

posted @ 2011-02-09 09:22  massinger  阅读(1123)  评论(9编辑  收藏  举报