首页 > 开发 > 综合 > 正文

用"位"来存储、修改用户权限的方法

2024-07-21 02:07:54
字体:
来源:转载
供稿:网友

用“位”来存储、修改用户权限的方法


以前我用记录方式,如a用户有3个模块权限,则a有三条记录

看到别人的程序里有这种方法,感觉不错,给大家看看有没有优点可取。

用户权限用一个int字段表示,可以放32位,

如果有第1,3,4模块的权限则,值为1+4+8=13

___________________
_userid_____userqx___
a?????????????? |???? 13
_________|___________

增加权限具体实现

如增加第四个模块的权限,4的二进制值8

update qxuser set userqx = userqx|8 where userid='a'

删除第四个模块的权限

update qxuser set userqx = userqx&~8 where userid='a'

如果删除第四个模块,则不加条件就可以了
update qxuser set userqx = userqx&~8
以上在sqlserver2000企业版通过。

欢迎大家讨论,有更好的方法大家共享呀~~~

在java 里

34&2 !=0就行了。

 

商业源码热门下载www.html.org.cn

上一篇:金额合计求值问题

下一篇:浅谈DataSet

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表