将ACCESS_MASK翻译成“访问掩码”,bits in Value翻译成“取值中的位”,则原问题可以改写为“访问掩码:取值中的位”。在代码中,可以使用以下方式定义访问掩码:
typedef DWORD ACCESS_MASK; #define DELETE (0x00010000L) #define READ_CONTROL (0x00020000L) #define WRITE_DAC (0x00040000L) #define WRITE_OWNER (0x00080000L) #define SYNCHRONIZE (0x00100000L) #define STANDARD_RIGHTS_REQUIRED (0x000F0000L) #define STANDARD_RIGHTS_READ (READ_CONTROL) #define STANDARD_RIGHTS_WRITE (READ_CONTROL) #define STANDARD_RIGHTS_EXECUTE (READ_CONTROL) #define STANDARD_RIGHTS_ALL (0x001F0000L) #define SPECIFIC_RIGHTS_ALL (0x0000FFFFL) #define ACCESS_SYSTEM_SECURITY (0x01000000L) #define MAXIMUM_ALLOWED (0x02000000L) #define GENERIC_READ (0x80000000L) #define GENERIC_WRITE (0x40000000L) #define GENERIC_EXECUTE (0x20000000L) #define GENERIC_ALL (0x10000000L)
然后,可以使用访问掩码标识特定权限,例如:
DWORD dwAccessMask = GENERIC_READ | GENERIC_WRITE; if (dwAccessMask & GENERIC_READ) { // 有读取权限 } if (dwAccessMask & GENERIC_WRITE) { // 有写入权限 }
上一篇:access_log记录中的其他网址指的是什么?这些网站是否对我的服务器有影响?
下一篇:access_token/id_token没有Role信息,是否有可能将额外信息添加到令牌中,而不是在每个页面上进行检查?