public void AddForbiddenUser(RayPort port, RayPortUser user)
        {
            JObject            rootJObj = this.rootJObj;
            RayConfigExtension configEx =
                JsonConvert.DeserializeObject <RayConfigExtension>(
                    rootJObj.ToString());

            if (configEx.ForbiddenedUsersPorts == null)
            {
                configEx.ForbiddenedUsersPorts = new List <RayPort>();
            }
            else if (!configEx.ForbiddenedUsersPorts.Contains(
                         port,
                         RayPortEqualityComparer.Default))
            {
                configEx.ForbiddenedUsersPorts.Add(port);
            }

            RayPort p = configEx.ForbiddenedUsersPorts.FirstOrDefault(
                r => r.Port == port.Port);

            ((p.Settings ??= new RayPortSettings())
             .Clients ??= new List <RayPortUser>()).Add(user);

            SaveConfigEx(configEx);
        }
 private void SaveConfigEx(RayConfigExtension configEx)
 {
     File.WriteAllText(
         RayConfigExtension.RayConfigExtensionFilePath,
         JsonConvert.SerializeObject(
             configEx,
             RayConfigJsonSetting.JsonSerializerSettings));
 }