`
jianghengqiu
  • 浏览: 10082 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

无限层权限表设计

 
阅读更多
    这个学期的期末设计做了一个论坛,对于表的设计有了一定的了解。但是对于权限如何设计,怎样设计才合理,这是一个很让深思的事情。
     对于权限表的设计,自己脑中要浮现出一个树形图,这是设计表的初步构造。
     现在我以一个例子来给大家介绍一下如何构造权限表。

     就拿论坛来说吧,论坛有用户表(t_user)、留言板表(t_messageBoard)、日志表(t_dairy)。而一个用户注册后,他可以发表留言,发表日志。而发表的留言和日志都有“好友可见、仅自己可见、指定好友可见”等权限。而这些权限都是用户自己设置的。
    
     1.所以我们要建立一个权限集合表(相当于把所以的权限都写在这个权限集合表里面)
  
     权限集合表

权限id    权限名         权限值         自身外键
1         留言板           1              null
2         好友可见         1               1
3         仅自己可见       2               1
4         指定好友可见     3               1
5         日志             2               null
6         好友可见         1               2
7         仅自己可见       2               2
8         指定好友可见     3               2
......
这个可以无限的添加进去,形成一个树形图。

      2.用户的权限表(因为这些都是属于用户操作的权限)
     
      用户权限表
id    用户id      权限id
1      001         1  (具有留言板下的所有的权限)
2      002         2  (具有留言板下的好友可见的权限)
3      001         5  (具有日志下的所有的权限)
4      002         7  (具有日志下的仅好友可见的权限)

结果就是:
    1.用户id为001的用户具有留言板和日志下的“好友可见、仅自己可见、指定好友可见”的权限。
    2.用户id为002的用户具有留言板下的“好友可见”和日志下的“仅好友可见”的权限。

------------------------
如何后台管理员admin也有权限的话,就直接把权限加到权限集合表里面去。然后再建立一个管理员的权限表(如上)。   
-------------------------
    这就是无限添加权限的权限表设计,大家觉得怎样,有见解的可以来探讨一下。   
分享到:
评论

相关推荐

    无限级别树形结构类别编辑ASP+ACCESS完美版

    这种结构常用于网站导航、目录管理或者权限分配等场景,其中每个节点都可以有任意数量的子节点,形成一个灵活的层次结构。 描述中提到,这个程序最初是为资源共享而设计,被移植到了ACCESS数据库上。ACCESS是一款轻...

    Thinkphp带表情无限评论回复

    在IT行业中,构建一个带有无限评论回复功能的网站...总之,“Thinkphp带表情无限评论回复”是一个综合性的开发实践,涵盖了后端编程、数据库设计、前端交互等多个方面,对于提升开发者的技术能力和项目经验非常有帮助。

    无限级树形(三层开发)源码.zip

    通过上述分析,我们可以看出"无限级树形(三层开发)源码"涵盖了前端开发、后端设计、数据库操作、数据结构、算法等多个IT领域的知识点。这个压缩包中的源码应该提供了完整的实现,对于学习和理解此类问题的解决方案...

    [其他类别]无限级树形(三层开发)源码_classmanage(ASP.NET源码).rar

    【描述】中的内容是对压缩文件的重复,表明这个源码是用ASP.NET语言编写的,主要实现了无限级别的树形结构,并且采用了三层架构设计。三层架构是一种常见的软件设计模式,包括表现层(UI)、业务逻辑层(BLL)和数据...

    多级目录的数据库设计

    3. **权限管理**:考虑用户对不同目录的访问权限,可能需要添加额外的字段或关联表来存储这些信息。 4. **缓存策略**:对于频繁访问的目录,可以采用缓存技术来减少数据库交互,提升系统性能。 5. **性能测试**:...

    ASP.NET-[其他类别]无限级树形(三层开发)源码.zip

    三层架构是软件设计中的一个常见模式,它将应用程序分为数据访问层、业务逻辑层和表示层,以实现更好的代码组织和模块化。 1. **数据访问层 (DAL)**:这是三层架构的第一层,主要负责与数据库交互,执行SQL查询、...

    三层企业网站

    三层企业网站设计是一种常见的Web应用架构模式,它将应用程序分为三个主要层次:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种架构模式有助于提高代码...

    简单无限级分类(表格、下拉列表)源码

    - **数据库设计**:在数据库中,通常会有一个分类表,包含分类ID、分类名称、父分类ID等字段。父分类ID为0或NULL表示顶级分类。 - **查询与遍历**:通过查询所有分类,并根据父分类ID进行递归遍历,构建出层级结构...

    thinkphp无限评论

    在数据库设计上,通常采用自引用的方式,即评论表中有一个字段指向自身的ID,表示父评论与子评论的关系。 1. 数据库设计: 创建一个名为`comments`的表,包含以下字段: - `id`:主键,评论的唯一标识 - `...

    repeater控件实现的模块权限管理

    另外,还需一个权限表,记录模块ID和对应的权限标识。通过关联角色和模块,我们可以知道某个角色对哪些模块有访问权限。 5. **权限检查**: 当用户尝试访问某个模块时,系统需要进行权限检查。这可以通过在`Page_...

    mvc权限控制案例

    本文将详细介绍如何在ASP.NET MVC项目中实现一套完整的权限控制系统,包括数据库设计、逻辑层实现等。 #### 二、数据库设计 ##### 1. RoleGroup权限组表 - **RoleID**: 权限组ID,用于唯一标识一个权限组。 - **...

    FLASH无限分类相册.zip

    5. **无限分类**:在数据库设计中,无限分类通常采用自引用关系表或者树形结构实现,允许用户无限层级地添加子分类。在本项目中,这可能涉及到数据库表的设计以及在.NET和Flash之间的数据传递。 6. **客户端-服务器...

    无限级树形菜单(Sql数据库)

    - **层次遍历**:按层级顺序访问,同一层的节点按某种顺序遍历。 4. **前端展示**: - **递归组件**:在前端,可以使用递归组件来渲染树形结构,如React中的递归函数组件或Vue中的递归组件,根据后台获取的数据...

    PHP 的无限级分类

    - **权限管理**:构建复杂的角色和权限关系。 **注意事项** - 数据库设计时,确保有足够的字段存储必要的信息,如父ID、层级等。 - 在处理无限级分类时,要考虑到性能优化,如合理使用索引,减少不必要的查询。 - ...

    无限下级分类文章管理程序

    "无限下级分类文章管理程序"是一个专为网站内容管理和组织设计的应用,它允许用户创建无限级别的分类层次,便于组织和检索大量文章或内容。在IT领域,这种类型的管理系统通常用于博客、新闻网站或者知识库等需要深度...

    JSP无限级分类目录树_sorttree.rar

    在数据库设计中,我们通常采用自关联的方式来存储这种关系,即类别表中有一个字段引用自身,表示父类别的ID。 在JSP中实现无限级分类目录树,我们需要以下关键步骤: 1. 数据库设计:创建一个类别表,包括`id`...

    CSSP_CMS-网站开发概要设计说明书

    1. **数据库设计**:根据需求设计合适的数据库表结构,包括用户信息、新闻分类、新闻内容、评论、权限等表,确保数据存储和查询的高效性。 **系统出错处理设计** 1. **错误捕获和恢复**:系统应具备错误捕获机制,...

    XYCMS企业建站系统无限制免费版 7.3

    - **权限管理**:支持多用户协作,设定不同角色的权限,保证网站的安全性。 - **易于更新**:系统定期更新,修复已知问题,增加新功能,保证持续的稳定性和先进性。 使用XYCMS,企业可以快速建立一个功能齐全、操作...

    无限级联树形目录

    - **数据库设计**:设计一个包含`id`(主键)、`name`(节点名称)、`parent_id`(父节点ID)等字段的表,通过`parent_id`字段实现层级关系。对于无限级联,可以使用自连接查询或者递归函数来获取所有子节点。 6. ...

    struts2 hibernate 实现无限级联 树形分类

    这种结构通常用于组织层次化的数据,如产品类别、部门结构或者权限角色等。无限级联意味着这个树可以有任意多的层级,每个节点都可以有任意数量的子节点。 实现这样的功能,首先需要设计一个合理的数据库模型。通常...

Global site tag (gtag.js) - Google Analytics