C cnsyj Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-10 #1 做了个收费程序,内有档案建立,收费,查询等功能,在如何设计用户权限分配时希望有高手指点一下如何设计.如设计思路,或者数据库如何设计.
V vvyang Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-10 #2 1、在用户表中建立一个数字字段[identification],记录用户权限,特定位代表特定权限:第 1 位代表查询权限,第 2 位代表收费权限,第 3 位代表档案建立权限。位为 1 表示具有权限,为 0 表示不具有权限。<br>例如'101'(二进制,十进制是 5)代表具有查询权限和建档权限,'011'代表具有查询权限和收费权限(二进制,十进制是 3)。<br>2、查看是否具有某种权限,只要用 SQL 的位操作就行了:<br>[identification] & 4 = 1 表示具有建档权限<br>[identification] & 2 = 1 表示具有收费权限<br>[identification] & 1 = 1 表示具有查询权限<br>3、赋予某种权限,只要把 & 改成 | 就行了:<br>[identification] | 4 表示赋予建档权限<br>[identification] | 2 表示赋予收费权限<br>[identification] | 1 表示赋予查询权限<br>4、取消某种权限,把上面的 | 改成 ~ 就行了,好了,多了不说了。
1、在用户表中建立一个数字字段[identification],记录用户权限,特定位代表特定权限:第 1 位代表查询权限,第 2 位代表收费权限,第 3 位代表档案建立权限。位为 1 表示具有权限,为 0 表示不具有权限。<br>例如'101'(二进制,十进制是 5)代表具有查询权限和建档权限,'011'代表具有查询权限和收费权限(二进制,十进制是 3)。<br>2、查看是否具有某种权限,只要用 SQL 的位操作就行了:<br>[identification] & 4 = 1 表示具有建档权限<br>[identification] & 2 = 1 表示具有收费权限<br>[identification] & 1 = 1 表示具有查询权限<br>3、赋予某种权限,只要把 & 改成 | 就行了:<br>[identification] | 4 表示赋予建档权限<br>[identification] | 2 表示赋予收费权限<br>[identification] | 1 表示赋予查询权限<br>4、取消某种权限,把上面的 | 改成 ~ 就行了,好了,多了不说了。
D DIGUA Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-10 #3 呵呵 帮楼上顶下<br>0有权限<br>1无权限<br>设置对应的功能菜单的enable属性就好了
W wang8139 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-11 #4 这只是个简单的权限控制,如果你想更完美点的话, 可以看看Windows中权限管理的思路!
再 再见卡门 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-11 #5 一般做法:建user表时,设三个字段:用户名,密码,权限,<br>程序运行时判断权限,根据需要设置控件的enable属性
V vvyang Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-11 #6 To wang8139:<br>嗯,如果想更完美的话,可以自己写个 SQLServer,直接用 SQL 语句控制权限。然后参照 Unix 中权限管理的思路,采用真正多用户管理;MD5 加密已经过时了(王小云发现存在漏洞),自己写个世界上最强的加密算法,怎么着也得 100 年不被破解。<br>最后,找几个俄国大妞在屏幕上跳舞,再加上点音乐,就那首 My heart will go on 吧,那叫一个 Perfect!
To wang8139:<br>嗯,如果想更完美的话,可以自己写个 SQLServer,直接用 SQL 语句控制权限。然后参照 Unix 中权限管理的思路,采用真正多用户管理;MD5 加密已经过时了(王小云发现存在漏洞),自己写个世界上最强的加密算法,怎么着也得 100 年不被破解。<br>最后,找几个俄国大妞在屏幕上跳舞,再加上点音乐,就那首 My heart will go on 吧,那叫一个 Perfect!