/// <summary> /// Specify the roles denied write access to /// a given property. /// </summary> /// <param name="propertyName">Name of the property.</param> /// <param name="roles">List of roles denied write access.</param> /// <remarks> /// This method may be called multiple times, with the roles in /// each call being added to the end of the list of denied roles. /// In other words, each call is cumulative, adding more roles /// to the list. /// </remarks> public void DenyWrite(string propertyName, params string[] roles) { RolesForProperty currentRoles = TypeRules.GetRolesForProperty(propertyName); foreach (string item in roles) { currentRoles.WriteDenied.Add(item); } }
/// <summary> /// Specify the roles denied read access to /// a given property. /// </summary> /// <param name="propertyName">Name of the property.</param> /// <param name="roles">List of roles denied read access.</param> /// <remarks> /// This method may be called multiple times, with the roles in /// each call being added to the end of the list of denied roles. /// In other words, each call is cumulative, adding more roles /// to the list. /// </remarks> public void InstanceDenyRead(string propertyName, params string[] roles) { RolesForProperty currentRoles = InstanceRules.GetRolesForProperty(propertyName); foreach (string item in roles) { currentRoles.ReadDenied.Add(item); } }
/// <summary> /// Specify the roles allowed to read a given /// property. /// </summary> /// <param name="propertyName">Name of the property.</param> /// <param name="roles">List of roles granted read access.</param> /// <remarks> /// This method may be called multiple times, with the roles in /// each call being added to the end of the list of allowed roles. /// In other words, each call is cumulative, adding more roles /// to the list. /// </remarks> public void AllowRead(string propertyName, params string[] roles) { RolesForProperty currentRoles = TypeRules.GetRolesForProperty(propertyName); foreach (string item in roles) { currentRoles.ReadAllowed.Add(item); } }
/// <summary> /// Specify the roles allowed to write a given /// property. /// </summary> /// <param name="propertyName">Name of the property.</param> /// <param name="roles">List of roles granted write access.</param> /// <remarks> /// This method may be called multiple times, with the roles in /// each call being added to the end of the list of allowed roles. /// In other words, each call is cumulative, adding more roles /// to the list. /// </remarks> public void InstanceAllowWrite(string propertyName, params string[] roles) { RolesForProperty currentRoles = InstanceRules.GetRolesForProperty(propertyName); foreach (string item in roles) { currentRoles.WriteAllowed.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); }
internal RolesForProperty GetRolesForProperty(string propertyName) { RolesForProperty currentRoles = null; if (!RulesList.ContainsKey(propertyName)) { currentRoles = new RolesForProperty(); RulesList.Add(propertyName, currentRoles); } else { currentRoles = RulesList[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); }