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、ブラウザを開きます。そして、ユーザー名とパスワードを入力してください
あなたは見ることができます: