パネルhangfireのAsp.netコア構成と使用

1、クラスの認証チェックの定義DyDashboardAuthorizationFilter

    ///  <要約> 
    /// Hangfire仪表盘配置授权
     ///  </要約> 
    パブリック クラスMyDashboardAuthorizationFilter:IDashboardAuthorizationFilter 
    { 
        パブリック ブール承認([NOTNULL] DashboardContextコンテキスト)
        { 
            VARのHttpContext = context.GetHttpContext()。

            VaRのヘッダ= httpContext.Request.Headers [ " 承認" ]。

            もしストリング.IsNullOrWhiteSpace(ヘッダ))
            { 
                SetChallengeResponse(のHttpContext)。
                返す ; 
            }

            VAR authValues = System.Net.Http.Headers.AuthenticationHeaderValue.Parse(ヘッダ)。

            もし(!" 基本" .Equals(authValues.Scheme、StringComparison.InvariantCultureIgnoreCase))
            { 
                SetChallengeResponse(のHttpContext)。
                返す ; 
            } 

            VARのパラメータ= System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(authValues.Parameter))。
            VaRの部品= parameter.Split(' ' ); 

            もし(parts.Length < 2  
            {
                SetChallengeResponse(のHttpContext)。
                返す ; 
            } 

            VARのユーザ名=パーツ[ 0 ]。
            VaRのパスワード=部品[ 1 ]; 

            もし文字列 .IsNullOrWhiteSpace(ユーザー名)|| 文字列.IsNullOrWhiteSpace(パスワード))
            { 
                SetChallengeResponse(のHttpContext)。
                返す ; 
            } 

            であれば(ユーザ名== " ユーザ" &&パスワード== " " 
            { 
                リターン ; 
            }

            SetChallengeResponse(のHttpContext)。
            返す ; 
        } 

        プライベート ボイドSetChallengeResponse(のHttpContextのHttpContext)
        { 
            httpContext.Response.StatusCode = 401 
            httpContext.Response.Headers.Append(" WWW認証"" 基本領域= \" Hangfireダッシュボード\」" ); 
            httpContext.Response.WriteAsync(認証が必要です。)。
        } 
    }

 

2、メソッドのstartup.csの設定

           // hangfireスケジュールされたタスクの有効
            app.UseHangfireServerを(); 

            // アクセス経路制御および許可ダッシュボード設定 
            app.UseHangfireDashboard(" / hangfire "新たな新規Hangfire.DashboardOptions 
            { 
                許可 = 新しい新 [] { 新規新しいMyDashboardAuthorizationFilter()} 
            }) ;

 します。http:// localhost:ポート/ hangfire 3、ブラウザを開きます。そして、ユーザー名とパスワードを入力してください

あなたは見ることができます:

 

おすすめ

転載: www.cnblogs.com/dayang12525/p/11320448.html