关于C#的二进制

来源:百度知道 编辑:UC知道 时间:2024/06/23 03:08:26
在sql2000中有BINARY和VARBINARY两种二进制类型,现在想在asp.net中实现对用户权限的控制,给每一张网页分配一个权限,分别为1,2,4,8,...2^n,然后采用或运算|来控制用户权限,但是网页有200多张,权限的最大值将达到2^200,请问有什么数据类型可以存放这样的数据吗?以便可以方便的进行或运算,BINARY和VARBINARY最多可以存放8000为二进制

对于有很多页面需要控制权限的,
建议你重新设计你的 权限管理 模块, 不是用简单的 与或运算来 获取权限.

比如你可以增加一张权限 表,
表结构类似:
ID INTEGER,
User VARCHAR(20), /// 用户名
PermitToAccess VARCHAR(50), /// 能访问的页面.
Remark VARCHAR(255)

你可以增加更多你需要的信息.
比如你 A 用户 能够访问 1.html 2.html 11.html 111.html 143.html等
那么你在 该 权限表中 对应 有 N条 类似以下的记录:

id User PermitToAccess Remark
1 A 1.html
2 A 2.html
3 A 11.html
4 A 111.html
5 A 143.html
..................

判定是否具有权限,
你可以直接 SELECT 就知道.