Как я могу опубликовать sh Hangfire Dashboard для пользовательской веб-страницы? - PullRequest
0 голосов
/ 16 марта 2020

Я знаю, что Hangfire установил локальную панель управления только в целях безопасности. Затем, если я хочу открыть его в пользовательском домене, я должен установить для него авторизацию. Я следовал руководству Настройка авторизации , но я не понимаю, что мне нужно написать внутри app.UseCookieAuthentication(…).

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{

});

. Мне возвращается ошибка

* 1008. *

Не удается найти пространство имен для CookieAuthenticationOptions

Этот код может устареть и не работает. Все темы на эту тему уже несколько лет go, поэтому я не знаю, что они обновили с тех пор. В то же время я хочу, чтобы это было открыто для всех, поэтому мне не нужно устанавливать аутентификацию для какой-либо роли.

1 Ответ

1 голос
/ 20 марта 2020

Как вы спросили в комментариях, если вы хотите настроить доступ publi c к своей панели без приложения, запущенного на localhost, вам нужно добавить пользовательский DashboardAuthorizationFilter, который всегда будет возвращать true (разрешить кому-либо получать доступ) .

Для этого создайте свой фильтр следующим образом:

using Hangfire.Dashboard;

namespace your.app.namespace
{
    public class PassThroughDashboardAuthorizationFilter : IDashboardAuthorizationFilter
    {
        /// <inheritdoc />
        public bool Authorize(DashboardContext context) => true;
    }
}

и добавьте его в свою конфигурацию:

        app.UseHangfireDashboard(options: new DashboardOptions
        {
            Authorization = new List<IDashboardAuthorizationFilter>(){ new PassThroughDashboardAuthorizationFilter() },
            IsReadOnlyFunc = context => false // according to your needs
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...