需要制作150多个网页,每一个网页都需要相应的权限才能访问,并且可以设置组(组可以随意建立),用户必须属于某个组,管理员可以給用户随意分配权限以访问这些网页(权限不得超过组的限制),我是这样做的:建立用户的时候该用户继承其所在组的所有权限,再給用户分配权限的时候将用户未选择的权限记录进入用户权限表,在检查用户权限的时候先根据用户名获得其所在组的权限,然后判断这些权限是否在她的用户权限表中,若存在则将这个权限去掉以此方法获得用户权限即select ... from ...where...not in(...),请问各位高手还有设么高效率的方法吗?如何设计数据库表?
uint b = 0x7;//存数据库权限b==(page1|page2|page3)
uint page1 = 0x1;//0010
uint page2 = 0x2;//0100
uint page3 = 0x4;//1000 if ((b | page1) == b)
{
Console.WriteLine("Can visit page1");
}
if ((b | page2) == b)
{
Console.WriteLine("Can visit page2");
}
if ((b | page3) == b)
{
Console.WriteLine("Can visit page3");
}
uint page2 = 0x2;//0010
uint page3 = 0x4;//0100
上面设计为页面常量,为2的次方