Routes.razor 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. @using EasyTemplate.Page.Common
  2. @using Microsoft.AspNetCore.Components.Authorization
  3. <CascadingAuthenticationState>
  4. <Router AppAssembly="typeof(Program).Assembly" AdditionalAssemblies="@TheAssembly.Assemblies" OnNavigateAsync="CallbackAsync">
  5. <Found Context="routeData">
  6. <CascadingValue Value="routeData">
  7. <Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView RouteData="routeData" DefaultLayout="typeof(Layout.BasicLayout)">
  8. <NotAuthorized>
  9. <RedirectToLogin />
  10. </NotAuthorized>
  11. </Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView>
  12. </CascadingValue>
  13. <FocusOnNavigate RouteData="routeData" Selector="h1" />
  14. </Found>
  15. <NotFound>
  16. <LayoutView Layout="@typeof(Layout.ErrorLayout)" />
  17. </NotFound>
  18. </Router>
  19. <AntContainer />
  20. </CascadingAuthenticationState>
  21. @inject NavigationManager NavigationManager
  22. @inject IJSRuntime IJSRuntime
  23. @code {
  24. protected override async Task OnAfterRenderAsync(bool firstRender)
  25. {
  26. if (firstRender)
  27. {
  28. await NavigationManager.RedirectLogin(IJSRuntime);
  29. }
  30. }
  31. private async Task CallbackAsync(NavigationContext obj)
  32. {
  33. Global.CurrentPath = obj.Path;
  34. await Task.CompletedTask;
  35. }
  36. }