这个表怎么建啊!

panyongchao 2004-12-23 02:24:28
我做网站的时候碰到一个很麻烦的权限问题

网站有三个板块
板块间相对独立,就是说三个板块,分别有不同的权限,这样就有三个权限了

然后每个板块里面,有很多分权限,比如1,2,3,4,5,
一个管理员可能有这几个权限中的任意组合,就是
1,2
4,
2,3,5
全有可能
这个表怎么建啊,数据库可以冗余一点的,关键是要简单

我本来是这样想的,一个板块权限设一个int
有权限1,就加个1
有权限2,就加个2
有权限3,就加个4
有权限4,就加个8
………………
也就是用2进制的一位来代一个小权限
这样做有几个问题:
1,我的页面很多,这样的处理,一个页面上可能用到3,4次,非常麻烦,而且效率很低,容易出错
2,权限是可以添加,删除的,比如权限2删了,又加了个权限9,这样表示起来就更麻烦了,还会产生错误

那个高手叫我个好一点的办法啊!谢谢了!!
...全文
122 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyongchao 2004-12-23
  • 打赏
  • 举报
回复
这个方法可以考虑,谢谢了!我实现试试看
godofwind 2004-12-23
  • 打赏
  • 举报
回复
要不就把原来表里的权限字段改成字符型,权限用","分隔,比如权限是1、3的就写入1,3
读出的时候就用split函数拆开,这种方法插入删除没有上一种方法好,但是上一种方法查询不好弄。
godofwind 2004-12-23
  • 打赏
  • 举报
回复
有user_ID 吧,另建一个权限表。
字段是QX和admin_id
权限就是qx,admin_id就是用户的ID
panyongchao 2004-12-23
  • 打赏
  • 举报
回复
大哥,这我还用你教啊,当然是三列拉,可是一列要表示多个权限啊,比如他同时有1,2,3,权限你怎么办呀
jixinming 2004-12-23
  • 打赏
  • 举报
回复
在表里建三个列不就行了,每个列分别表示一个权限,数字用几就表示是什么样的权限,这样可以吗
godofwind 2004-12-23
  • 打赏
  • 举报
回复
我的方法不可以吗?
panyongchao 2004-12-23
  • 打赏
  • 举报
回复
继续来人啊!
panyongchao 2004-12-23
  • 打赏
  • 举报
回复
vipfenghuang(张伟) ,你还要夸张,一个权限一个字段啊,那要添加权限怎么办啊,
我要,一个分版面一个字段啊
panyongchao 2004-12-23
  • 打赏
  • 举报
回复
楼上的方法可能可以,不过有个问题,就是说,我找到A这个权限以后还要再次查找字符集找到相应的权限1,比较麻烦的,另外如果权限组合超过26,你这样就不行了啊。
火电 2004-12-23
  • 打赏
  • 举报
回复
a表 1般块权限表 b表 2版块权限表 c表 3版块权限表
PERSON_ID
1_QX
2_QX
3_QX
4_QX
5_QX

PERSON_ID 保存拥护的id
其他字段用1,0表示是否拥有1-5的权限

b,c表雷同
yingqing 2004-12-23
  • 打赏
  • 举报
回复
權限組合用字符集合表示(A,B,C,D,E....Z),設置為一個字段,用CHARINDEX ( expression1 , expression2 [ , start_location ] ) 來查詢是否具有權限,用一個函數來處理權限的增加和刪去.
godofwind 2004-12-23
  • 打赏
  • 举报
回复
建三个列qx1,qx2,qx3,分别对应三个板块的权限不就行了。
panyongchao 2004-12-23
  • 打赏
  • 举报
回复
没人来啊!!!我好郁闷啊!

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧