public async Task LoadAsync(IConfigurationContext context) { IConfigurationContext permissionsContext = context.CreateChildConfigurationContext("Permissions"); IConfigurationContext groupsContext = permissionsContext.CreateChildConfigurationContext("Groups"); GroupsConfig.ConfigurationContext = groupsContext; await GroupsConfig.LoadAsync(new { Groups = new object[] { new GroupPermissionSection { Id = "Default", Name = "Default Group", Priority = 0, Permissions = new[] { "SomePermission", "SomePermission.Other" }, AutoAssign = true } } }); IConfigurationContext playersContext = permissionsContext.CreateChildConfigurationContext("Players"); PlayersConfig.ConfigurationContext = playersContext; await PlayersConfig.LoadAsync(); }
public override void Bootstrap() { base.Bootstrap(); object sampleGroupsPermissions = new { Groups = new object[] { new GroupPermissionSection { Id = "TestGroup1", Name = "TestGroup", Priority = 2, Permissions = new[] { "GroupPermission1" } }, new GroupPermissionSection { Id = "TestGroup2", Name = "TestGroup2", Priority = 1, Permissions = new[] { "GroupPermission2", "GroupPermission2.Child", "!GroupPermission3" } }, new GroupPermissionSection { Id = "TestGroup3", Name = "PrimaryGroup", Priority = 3 } } }; object samplePlayers = new { Users = new object[] { new PlayerPermissionSection { Id = "TestPlayerId", Groups = new[] { "TestGroup3", "TestGroup2", "TestGroup4" /* doesn't exist, shouldn't be exposed by GetGroups */ }, Permissions = new[] { "PlayerPermission.Test", "PlayerPermission.Test2.*", "!PlayerPermission.Test3" } } } }; PlayersConfig = GetConfigurationProvider(); PlayersConfig.LoadFromObject(samplePlayers); GroupsConfig = GetConfigurationProvider(); GroupsConfig.LoadFromObject(sampleGroupsPermissions); TestPlayer = new TestPlayer(Runtime.Container, null).User; }