用户权限为整数位

时间:2010-08-20 20:24:07

标签: permissions binary integer

假设我在数据库中为每个用户存储一个整数,表示其分配的权限。存储的数字是与每个分配的权限相关联的两个权力的总和。

检查是否授予某个权限(在VBScript / ASP中,或一般情况下),最简单的方法是什么?我最好的想法是将整数转换为二进制字符串并检查我想要的位,但我觉得有一个更好的解决方案(我还没有意识到它感到内疚。)

1 个答案:

答案 0 :(得分:1)

DIM ADMIN as Integer = 128

DIM UserPermissionCode as Intger

if (UserPermissionCode and ADMIN) = ADMIN Then
    ' user is an admin
endif

这只是对VB.NET语法的猜测。这是C#中正确的版本

[Flags]
enum Permissions 
{ 
   User = 0x01;
   PowerUser = 0x02;
   Admin = 0x80
}

Permissions UserCode;

if (UserCode & Permissions.Admin == Permissions.Admin)
{
    // user is admin
}