Permissions (bit håndtering)
Jeg vil forsøge at lave en måde hvorpå jeg nemt kan gemme permissions for en gruppe i databasen. Men jeg kan ikke helt få det her til at virke.Ved forskellige kombinationer kommer visse permissions ikke med og jeg kan ikke se hvorfor. Er der nogen eksperter der ude der ved hvordan man laver sådan noget?
//1 - Full
//2 - Read
//4 - Edit/Delete Own
//8 - Edit/Delete Others
//16 - No Permissions
//32
//64
//128
int permissions_on_item = 2 + 4 + 8 + 16;
List<string> permission_array = new List<string>();
List<string> returnArray = new List<string>();
permission_array.Add("Full");
permission_array.Add("Read");
permission_array.Add("Edit/Delete Own");
permission_array.Add("Edit/Delete Others");
permission_array.Add("No Permissions");
for(int i = 0; i < permission_array.Count; i++)
{
int test = (((int)Math.Pow(i + 1, 2)) | permissions_on_item);
if (test == permissions_on_item)
{
returnArray.Add(permission_array[i]);
}
}
foreach (string p in returnArray)
{
Console.WriteLine(p);
}
Console.WriteLine("Done");
Console.Read();