public void DenyWrite(string propertyName, params string[] roles) { RolesForProperty currentRoles = GetRolesForProperty(propertyName); foreach (string item in roles) { currentRoles.WriteDenied.Add(item); } }
public void AllowRead(string propertyName, params string[] roles) { RolesForProperty currentRoles = GetRolesForProperty(propertyName); foreach (string item in roles) { currentRoles.ReadAllowed.Add(item); } }
private RolesForProperty GetRolesForProperty(string propertyName) { RolesForProperty currentRoles = null; if (!Rules.ContainsKey(propertyName)) { currentRoles = new RolesForProperty(); Rules.Add(propertyName, currentRoles); } else { currentRoles = Rules[propertyName]; } return(currentRoles); }
public string[] GetRolesForProperty(string propertyName, AccessType access) { RolesForProperty currentRoles = GetRolesForProperty(propertyName); switch (access) { case AccessType.ReadAllowed: return(currentRoles.ReadAllowed.ToArray()); case AccessType.ReadDenied: return(currentRoles.ReadDenied.ToArray()); case AccessType.WriteAllowed: return(currentRoles.WriteAllowed.ToArray()); case AccessType.WriteDenied: return(currentRoles.WriteDenied.ToArray()); } return(null); }