Setting Provider¶
Configuration system is a good way to configure the application on startup.
A setting is a name-value pair stored in a dynamic data source, generally in a database. Setting system is extensible and there are pre-built providers for a user, a tenant, global and default.
- Do define
<ModuleName>Consts
at domain shared package.
public static class IdentityConsts
{
public const string GroupName = "Identity";
}
- Do define setting provider in the domain package.
- Do define setting for each aggregate.
public override void Define(ISettingDefinitionContext context)
{
context.Add(
new SettingDefinition(
name: IdentitySettings.Session.PreventConcurrentLogin,
defaultValue: IdentityPreventConcurrentLoginBehaviour.Disabled.ToString(),
displayName: L("Settings:PreventConcurrentLogin"),
description: L("Settings:PreventConcurrentLoginDescription"),
isVisibleToClients: true,
isInherited: true,
isEncrypted: false
)
);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<IdentityResource>(name);
}