VAF Configuration SysAdmin Permissions Issue

I am seeing a problem with configuration where permissions are specified on the parameters of a Configuration subclass.  Simple example to illustrate:

// Configuration.cs
[DataContract]
public class Configuration : MFiles.VAF.Extensions.Configuration.ConfigurationBase
{
    [Security(
        ChangeBy = SecurityAttribute.UserLevel.VaultAdmin,
        ViewBy = SecurityAttribute.UserLevel.VaultAdmin)]
    [DataMember]
    public List<ArbitraryConfigClass> AdHocTesting { get; set; }
    
    [Security(
        ChangeBy = SecurityAttribute.UserLevel.VaultAdmin,
        ViewBy = SecurityAttribute.UserLevel.VaultAdmin)]
    [DataMember]
    public string SomeOtherTextField { get; set; }
}

[DataContract]
public class ArbitraryConfigClass
{
    [DataMember(Order = 10)]
    [Security(
        ChangeBy = SecurityAttribute.UserLevel.SystemAdmin,
        ViewBy = SecurityAttribute.UserLevel.VaultAdmin)]
    [JsonConfEditor(
        Label = "SystemAdminField",
        IsRequired = true)]
    public string SystemAdminField { get; set; }
}

As expected, modifying AdHocTesting.SystemAdminField fails when logged in as a VaultAdmin.

Log in as a SysAdmin instead, add an entry under AdHocTesting and set SystemAdminFields to anything.  Then restart the vault, log back in as the VaultAdmin and try to update SomeOtherTextField without touching AdHocTesting at all.  Somehow this triggers an error:

For obvious reasons this is quite annoying in cloud vaults as it effectively locks all the configuration even though we've only set 1 field to SysAdmin and we are not updating it at all.  Anyone know of a clever workaround or something I'm missing or is this a bug?

Parents Reply Children