要设计一个论坛,有
用户,论坛板块,文档 和权限几个要素。具体问题是。
先说,简单的。
板块。
就是论坛的各个板块,1-N个。 N不定。用户和权限。
论坛中存在有5种角色。
Role_S1 Role_S2 Role_A Role_B Role_C
其中前2种是跨板块的角色,也就是无视板块,类似管理员的角色。并且对于每个论坛板块,1个用户可以拥有多个角色,理论上是1-5个角色。
这点类似windows,某用户是User同时可以是Administrator。
虽然上面的例子,User有点多余。
但是由于有Role_A Role_B Role_C的存在,所以这样的要求是合理的。
也就是用户可以只是A,也可是同时是A和B。相反,同一个用户在不同的板块可以是不同的角色。(其实Role_S1 Role_S2例外)
比如,某用户可以是在板块B_1里是Role_A,
但是在板块B_2里就只是Role_C。另外,角色权限高的用户,可以给权限低的赋予某些权限。文档
对1个板块,会有5种文档。
D_1, D_2, D_3, D_4, D_5
不同角色的用户,对于5种文档的访问权限不一样。
比较复杂的权限,我想根据上面的要求,数据库结构怎么设计呢?最后和大家说下对不起,标题只是想吸引更多人进来,没有对大家不敬的意思。

解决方案 »

  1.   

    去下个康盛的论坛,数据库根据提示会自动安装的,里面的模块基本都有的,他的数据库没多少表,看下就好了
    http://www.comsenz.com/downloads/install/discuzx#down_open
      

  2.   

    问题补充。
    首先我不是要做个论坛。 由于安全问题,我把要做的东西抽象成了论坛。另外,其实还有个guest问题。
    那些只能搜索到文档,但连读的权限都没有的用户,
    如果想阅读那些文档,提出申请guest权限,临时可以阅读那些文档。
    和更改为只读权限相比,guest的区别特征就是,有时间限制。
    并且更改权限这个动作的权限要比批准guest要高,
    即,某用户拥有批准guest的权限,但没有更改为只读权限的权限。