/// <summary> /// Tries to load the specified configuration file, creating a default /// configuration file if the specified one does not exist. /// </summary> /// <param name="fname">the name of the configuration file to load</param> /// <returns>a <see cref="RoleGroupConfig" /> object representing the loaded file</returns> public static RoleGroupConfig LoadConfigOrDefault(string fname) { var confFolder = AuthServerConfiguration.GetFullPath(AuthServerConfiguration.ConfigDir); var privFile = Path.Combine(confFolder, fname); var cfg = File.Exists(privFile) ? Load(privFile) : null; if (RoleGroupInfo.HighestRole == null || RoleGroupInfo.HighestRole.IsStaff) { cfg = new RoleGroupConfig { RoleGroups = RoleGroupInfo.CreateDefaultGroups().ToArray() }; cfg.SaveAs(fname, confFolder); } return(cfg); }
private AuthServerConfiguration _authServerConfiguration4; //detect changes public HomeController( ILogger <HomeController> logger, IOptions <AuthServerConfiguration> option1, IOptionsSnapshot <AuthServerConfiguration> option2, IOptionsMonitor <AuthServerConfiguration> option3, IOptionsMonitor <AuthServerConfiguration> option4 ) { _logger = logger; _authServerConfiguration1 = option1.Value; // var authorityUrl = _authServerConfiguration1.Authority _authServerConfiguration2 = option2.Value; // var authorityUrl = _authServerConfiguration2.Authority _authServerConfiguration3 = option3; // var authorityUrl = _authServerConfiguration3.CurrentValue.Authority _authServerConfiguration4 = option4.CurrentValue; // var authorityUrl = _authServerConfiguration4.Authority option4.OnChange(config => { _authServerConfiguration4 = config; _logger.LogInformation("The greeting configuration has been updated"); // signalR push code here }); }