Application configuration
This page covers global application configuration: display name, environment, logos, button behavior, field reset, About page, default HTTP format, and global LgGridView options.
This page covers global application configuration: display name, environment, logos, button behavior, field reset, About page, default HTTP format, and global LgGridView options.
The installed application is configured in the appsettings.json file of the Server project.
This configuration is available for SQL Server, MySQL v8+, MariaDB v10+, Oracle and PostgreSQL v11+.
The Tracked Changes system records additions, deletions, and modifications of EF Core entities in a Lagoon application.
Lagoon client application (Blazor WebAssembly) configuration is distributed across four locations depending on the nature of the setting.
Inherited content from the old documentation, pending rewrite.
Lagoon generates the HTTP Content-Security-Policy header from the application's public URL and the Lagoon:CSP section of the appsettings.json file.
The Batch project's import/export command lets you export data from a database to a file, then import it into another database.
Date and number formats are configured in the application's Main class by overriding OnInitCulture.
This page builds on the CLI basics described in Updating the database.
Lagoon can identify users solely by their email address.
EULA stands for End User Licence Agreement.
Two certificates are used to sign or encrypt data related to authentication.
Forms authentication enables login with a username and password.
JavaScript interoperability allows a Lagoon Blazor page or component to call JavaScript code, or to receive a callback from JavaScript.
A Lagoon Batch application is a .NET console application that starts with LagoonConsoleApplication.Run<Main>(args).
Lagoon provides EF Core base classes that integrate ASP.NET Identity, the framework's internal entities, and application conventions.
The layout structures the pages of the Lagoon client application.
LgMenuConfiguration centralizes the declaration of the main menu, sidebar, and application toolbars.
Choose and customize the loading spinner of a Lagoon application from the client main.scss, with the gallery of available spinners.
Lagoon logout removes the access token from client browser storage and prevents its renewal from the refresh token.
Mail sending is performed from the Server project, for example from a controller or server service.
Menu configuration is done in a dedicated component of the Client project, typically Shared/MenuConfiguration.razor.
Message logging is configured in the appsettings.json file of the Server project.
Lagoon uses MessagePack to reduce the size of the data exchanged between the Blazor WebAssembly client and the ASP.NET Core server, while keeping the process transparent for the developer.
Lagoon exposes window information via App.WindowInformation.
You can enable two-factor authentication for form-based logins, i.e. login / password.
Lagoon centralizes displayed texts in Dico.xml files.
Offline mode relies on the Blazor/Lagoon Service Worker and caching of resources required by the application.
Lagoon exposes an AddOidc extension method to register an OpenID Connect provider on the server side.
Lagoon relies on ASP.NET Core Identity to manage users, roles, hashed passwords, account recovery, account confirmation, and related mechanisms.
QueryableAttribute is a server action filter.
Add pages from a Razor Class Library (RCL) to the Lagoon router, at startup or with lazy loading of its assembly on first navigation.
If the application must run over HTTP, modify the Lagoon:PublicUrl URL in the appsettings.json file of the Server project to replace https:// with http://.
This page covers the SAML2 configuration of a Lagoon application and the associated ADFS settings.
Store secrets outside the repository (dotnet user-secrets in development, environment variables or vault in production), share the UserSecretsId between the server, batch and dotnet ef via Directory.Build.props, and reference them in the configuration with ${Key} placeholders.
The LgHtmlSanitizer service from Lagoon.Server removes scripts, event handlers, dangerous URLs, and forms from HTML content before it is displayed to users.
With UserStorage = None, an SSO or Windows login neither writes user nor token to the database: the user's identity only lives in the cookie and tokens.
Lagoon publishes static files only in Brotli format, which is negotiated only over HTTPS. If the application must run over HTTP, add LagoonDefaultCompression to the solution's Directory.Build.props file.
Lagoon can display pages in simple page mode or in application tabbed mode.
Customize styles of a Lagoon application: client SCSS files, variable overrides, and offering multiple themes for the user to choose from.
Toaster options can be modified globally on the client side.
Lagoon recommends using policies to express authorizations, based on roles or custom claims (AuthenticationOptions.AccessTokenClaims).
A ViewModel selects fields from one or more models to expose a shape adapted to screens, APIs, or grids.
This page covers two distinct needs:
Windows authentication is enabled server-side and requires configuring the execution environment, notably in development with IIS Express or when publishing to IIS.