@@ -361,6 +361,12 @@ public partial class Layout : IHandlerException, ITabHeader
361361 [ Parameter ]
362362 public bool ShowTabInHeader { get ; set ; }
363363
364+ /// <summary>
365+ /// 获得/设置 是否跳过认证逻辑 默认 false
366+ /// </summary>
367+ [ Parameter ]
368+ public bool SkipAuthenticate { get ; set ; }
369+
364370 [ Inject ]
365371 [ NotNull ]
366372 private NavigationManager ? Navigation { get ; set ; }
@@ -374,7 +380,7 @@ public partial class Layout : IHandlerException, ITabHeader
374380 /// <summary>
375381 /// 获得/设置 是否已授权
376382 /// </summary>
377- private bool IsAuthenticated { get ; set ; }
383+ private bool _authenticated ;
378384
379385 /// <summary>
380386 /// 获得 组件样式
@@ -501,15 +507,15 @@ public partial class Layout : IHandlerException, ITabHeader
501507 private IOptionsMonitor < BootstrapBlazorOptions > ? Options { get ; set ; }
502508
503509 private bool _init ;
504- private LayoutHeader ? _layoutHeader = null ;
510+ private LayoutHeader ? _layoutHeader ;
505511
506512 private ITabHeader ? TabHeader => ShowTabInHeader ? this : null ;
507513
508- private bool _enableErrorLogger => EnableErrorLogger ?? Options . CurrentValue . EnableErrorLogger ;
514+ private bool EnableLogger => EnableErrorLogger ?? Options . CurrentValue . EnableErrorLogger ;
509515
510- private bool _showToast => ShowErrorLoggerToast ?? Options . CurrentValue . ShowErrorLoggerToast ;
516+ private bool ShowToast => ShowErrorLoggerToast ?? Options . CurrentValue . ShowErrorLoggerToast ;
511517
512- private bool _enableILogger => EnableErrorLoggerILogger ?? Options . CurrentValue . EnableErrorLoggerILogger ;
518+ private bool EnableILogger => EnableErrorLoggerILogger ?? Options . CurrentValue . EnableErrorLoggerILogger ;
513519
514520 /// <summary>
515521 /// <inheritdoc/>
@@ -535,30 +541,28 @@ protected override async Task OnInitializedAsync()
535541 {
536542 await base . OnInitializedAsync ( ) ;
537543
538- // 需要认证并且未认证
539- if ( AuthenticationStateTask != null )
544+ if ( SkipAuthenticate || AuthenticationStateTask == null )
540545 {
541- // wasm 模式下 开启权限必须提供 AdditionalAssemblies 参数
542- AdditionalAssemblies ??= [ Assembly . GetEntryAssembly ( ) ! ] ;
546+ _authenticated = true ;
547+ _init = true ;
548+ return ;
549+ }
543550
544- var url = Navigation . ToBaseRelativePathWithoutQueryAndFragment ( ) ;
545- var context = RouteTableFactory . Create ( AdditionalAssemblies , url ) ;
546- if ( context . Handler != null )
547- {
548- IsAuthenticated = await context . Handler . IsAuthorizedAsync ( ServiceProvider , AuthenticationStateTask , Resource ) ;
551+ // wasm 模式下 开启权限必须提供 AdditionalAssemblies 参数
552+ AdditionalAssemblies ??= [ Assembly . GetEntryAssembly ( ) ! ] ;
549553
550- // 检查当前 Url
551- if ( OnAuthorizing != null )
552- {
553- IsAuthenticated = IsAuthenticated && await OnAuthorizing ( Navigation . Uri ) ;
554- }
555- }
556- }
557- else
554+ var url = Navigation . ToBaseRelativePathWithoutQueryAndFragment ( ) ;
555+ var context = RouteTableFactory . Create ( AdditionalAssemblies , url ) ;
556+ if ( context . Handler != null )
558557 {
559- IsAuthenticated = true ;
560- }
558+ _authenticated = await context . Handler . IsAuthorizedAsync ( ServiceProvider , AuthenticationStateTask , Resource ) ;
561559
560+ // 检查当前 Url
561+ if ( OnAuthorizing != null )
562+ {
563+ _authenticated = _authenticated && await OnAuthorizing ( Navigation . Uri ) ;
564+ }
565+ }
562566 _init = true ;
563567 }
564568
0 commit comments