NuGet ยท nuget

Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi

Core Web UI integration contracts and tag helpers for Eltheon.

Install

Install-Kommandos

dotnet add package Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi --version 0.9.1
<PackageReference Include="Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi" Version="0.9.1" />
paket add Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi --version 0.9.1
Install-Package Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi -Version 0.9.1

README

Vorschau

Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi

Reusable Web UI infrastructure for Eltheon Razor hosts. It provides TagHelpers, permission UI/security bridges, a navigation registry implementation, and optional test pages for Admin/User surfaces.

Neutral contracts such as navigation entries, navigation providers, permission definitions, permission providers, and grant enums live in Redeon.SuperSiteEngineCore.Web.Eltheon.Core.Abstractions. Core.WebUi implements UI behavior around those contracts; it does not own them.

Install

dotnet add package Redeon.SuperSiteEngineCore.Web.Eltheon.Core.WebUi

Public Surface

  • AddEltheonCoreWebUi(...)
  • AddEltheonCoreWebUiApplicationPart()
  • EltheonCoreWebUiOptions
  • EltheonCoreWebUiMarker
  • v1.TagHelpers
  • v1.Security
  • v1.Navigation.EltheonNavigationRegistry

TagHelpers

Core.WebUi contains reusable Bootstrap-style TagHelpers. Concrete layouts, sidebars, header/footer markup, theme assets, and tag partials remain host/template-owned.

Available TagHelpers include:

  • BS:Container
  • BS:Row
  • BS:Column
  • BS:Card
  • BS:CardHeader
  • BS:CardBody
  • BS:CardFooter
  • BS:NavItem
  • BS:NavLink
  • BS:NavMenu
  • BS:NavMenuLink
  • BS:Button
  • BS:Badge
  • BS:Alert
  • BS:ButtonGroup
  • BS:Toolbar

Razor Class Library feature pages that use Core.WebUi TagHelpers must carry their own _ViewImports.cshtml.

Permissions

Core.WebUi does not create a second permission system. It provides UI and authorization bridge types:

  • IEltheonPermissionEvaluator
  • DenyAllPermissionEvaluator
  • PermissionAttribute
  • PermissionTagHelper
  • SecureContentTagHelper
  • PermissionRenderMode
  • CoreWebUiPermissionProvider

PermissionAttribute performs server-side authorization. PermissionTagHelper and SecureContentTagHelper are UI conveniences only. Navigation filtering is not security; protected pages, handlers, APIs, and actions must still enforce server-side authorization.

Feature packages contribute navigation through IEltheonNavigationProvider and EltheonNavigationEntry from Core.Abstractions. Core.WebUi provides EltheonNavigationRegistry, which aggregates and validates those entries.

Navigation keys are case-insensitive and must be unique. Duplicate keys throw a clear InvalidOperationException.

Optional Test Pages

Core.WebUi includes optional integration test pages:

  • /Admin/CoreWebUiTest
  • /User/CoreWebUiTest

They are controlled through EltheonCoreWebUiOptions:

  • EnableAdminTestPage
  • EnableUserTestPage
  • RegisterTestNavigation

Disabled test pages remove their route selectors through Razor Pages conventions and keep defensive PageModel checks.

Boundaries

Core.WebUi must not own:

  • concrete host layouts or sidebars
  • theme assets
  • host permission storage
  • database migrations
  • plugin lifecycle
  • SimpleSearch architecture
  • a replacement localization system
  • neutral framework contracts that belong in Core.Abstractions

Feature packages may use Core.WebUi TagHelpers and bridge types, but they must not reference the host/template project.