/// <inheritdoc/>
        public async Task SeedAsync()
        {
            if (!await this.context.Set <Role>().AsQueryable().AnyAsync())
            {
                await this.EnsureRoleAsync(ApplicationRoles.Admin, AdminPermissions.GetAllPermissionValues());

                await this.EnsureRoleAsync(ApplicationRoles.User, new string[] { });

                if (this.options.AdditionalRoles != null && this.options.AdditionalRoles.Count > 0)
                {
                    foreach (var role in this.options.AdditionalRoles)
                    {
                        await this.EnsureRoleAsync(role.Key, role.Value);
                    }
                }
            }

            if (!await this.context.Set <User>().AsQueryable().AnyAsync())
            {
                await this.CreateUserAsync(
                    EmIdentityConstants.DefaultEmeraudeAdminEmail,
                    EmIdentityConstants.DefaultEmeraudeAdminPassword,
                    EmIdentityConstants.DefaultEmeraudeAdminName,
                    new string[] { ApplicationRoles.Admin });

                await this.CreateUserAsync(
                    EmIdentityConstants.DefaultEmeraudeUserEmail,
                    EmIdentityConstants.DefaultEmeraudeUserPassword,
                    EmIdentityConstants.DefaultEmeraudeUserName,
                    new string[] { ApplicationRoles.User });
            }
        }
Exemple #2
0
        public void UpdateAdminPermissions(string userName, bool admin, bool export, bool canImpersonate)
        {
            bool            isNewUser     = true;
            AdminPermission newPermission = null;

            // Get the current permissions
            AdminPermissions permissions = ManagementServer.GetAdminPermissions();

            // Check for existing permissions of the given user
            foreach (AdminPermission permission in permissions)
            {
                if (string.Compare(permission.UserName, userName, true) == 0)
                {
                    isNewUser     = false;
                    newPermission = permission;
                    break;
                }
            }

            // If it is a new user, add new permissions to the collection
            if (isNewUser)
            {
                newPermission          = new AdminPermission();
                newPermission.UserName = userName;
                permissions.Add(newPermission);
            }

            newPermission.Admin          = admin;
            newPermission.Export         = export;
            newPermission.CanImpersonate = canImpersonate;

            bool updated = ManagementServer.UpdateAdminUsers(permissions);
        }
 public void Delete(AdminPermissions delObj)
 {
     using (var session = GetSession())
     {
         using (var trans = session.BeginTransaction())
         {
             session.Delete(delObj);
             trans.Commit();
         }
     }
 }
 public void Save(AdminPermissions saveObj)
 {
     using (var session = GetSession())
     {
         using (var trans = session.BeginTransaction())
         {
             session.FlushMode = FlushMode.Commit;
             session.SaveOrUpdate(saveObj);
             trans.Commit();
             session.Flush();
             //}
         }
     }
 }
        public PlayerSession(NetConnection client, PlayerManager playerManager)
        {
            _playerManager = playerManager;
            name           = "";

            PlayerState = new PlayerState();
            PlayerState.UniqueIdentifier = client.RemoteUniqueIdentifier;

            if (client != null)
            {
                connectedClient  = client;
                adminPermissions = new AdminPermissions();
                OnConnect();
            }
            else
            {
                status = SessionStatus.Zombie;
            }

            UpdatePlayerState();
        }