public void HideCoreEveryoneRoles() { IList <AccessRule> accessRules; Solution consoleSolution; using (DatabaseContext databaseContext = DatabaseContext.GetContext(true)) using (new SecurityBypassContext()) { consoleSolution = Entity.Get <Solution>("core:consoleSolution"); accessRules = Entity.GetInstancesOfType <AccessRule>(false, "accessRuleHidden, allowAccess.{alias}, inSolution.{name}, controlAccess.{name}") .ToList(); foreach (AccessRule accessRule in accessRules) { if (accessRule.AllowAccessBy.Alias == "core:everyoneRole" && accessRule.InSolution != null && accessRule.InSolution.Name == "ReadiNow Core Data") { AccessRule writeableAccessRule = accessRule.AsWritable <AccessRule>(); writeableAccessRule.AccessRuleHidden = true; if (writeableAccessRule.InSolution == consoleSolution) { writeableAccessRule.InSolution = null; } Console.Out.WriteLine("Making access rule on type {0} hidden", writeableAccessRule.ControlAccess.Name); writeableAccessRule.Save(); } } databaseContext.CommitTransaction(); } }
public void SecurityCheckTest() { UserAccount userAccount; const long testEntityId = 21660; userAccount = Entity.GetByName <UserAccount>("Erica.Mcknight").First(); Assert.That(userAccount, Is.Not.Null, "User not found"); using (new SetUser(Entity.GetByName <UserAccount>("Erica.Mcknight").First())) using (new ForceSecurityTraceContext(testEntityId)) { IEnumerable <IEntity> entities = Entity.GetInstancesOfType(new EntityRef(testEntityId)).ToList(); foreach (IEntity entity in entities) { Console.Out.WriteLine("{0} ({1})", entity.GetField("core:name"), entity.Id); } //new EntityAccessControlFactory().Service.Check( // new EntityRef(testEntityId), // new [] { Permissions.Delete }); } }
IEnumerable <IEntity> GetListFromType(EntityType entityType) { return(Entity.GetInstancesOfType(new EntityRef(entityType.Id))); }