private static void SetSnPerm(SnPermission perm, PermissionValue permissionValue) { switch (permissionValue) { case PermissionValue.NonDefined: if (perm.Allow && perm.AllowFrom == null) perm.Allow = false; if (perm.Deny && perm.DenyFrom == null) perm.Deny = false; break; case PermissionValue.Allow: if (!perm.Allow) perm.Allow = true; if (perm.Deny) perm.Deny = false; break; case PermissionValue.Deny: if (!perm.Deny) perm.Deny = true; if (perm.Allow) perm.Allow = false; break; default: throw new NotImplementedException(); } }
private static void SetSnPerm(SnPermission perm, PermissionValue permissionValue) { switch (permissionValue) { case PermissionValue.NonDefined: if (perm.Allow && perm.AllowFrom == null) { perm.Allow = false; } if (perm.Deny && perm.DenyFrom == null) { perm.Deny = false; } break; case PermissionValue.Allow: if (!perm.Allow) { perm.Allow = true; } if (perm.Deny) { perm.Deny = false; } break; case PermissionValue.Deny: if (!perm.Deny) { perm.Deny = true; } if (perm.Allow) { perm.Allow = false; } break; default: throw new NotImplementedException(); } }
private SnPermission[] GetPermsFromString(string values, string readOnlyMask) { var permTypes = ActiveSchema.PermissionTypes; var perms = new SnPermission[permTypes.Count]; var c = values.ToCharArray(); var r = readOnlyMask.ToCharArray(); for (int i = 0; i < permTypes.Count; i++) { var ci = c.Length-1-i; var pt = permTypes[i]; perms[i] = new SnPermission { Name = permTypes[i].Name, Allow = c[ci] == '+', AllowFrom = r[ci] == 'r' ? "/path" : null, Deny = c[ci] == '-', DenyFrom = r[ci] == 'r' ? "/path" : null }; } return perms; }