如何为自定义网页发布Hangfire仪表板?

问题描述 投票:0回答:1

我知道Hangfire仅出于安全目的将其仪表板设置为本地。然后,如果要在自定义域中打开它,则必须为其设置权限。我已遵循Configuring Authorization指南,但我不明白我必须在app.UseCookieAuthentication(…)中写什么。

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{

});

返回错误

找不到CookieAuthenticationOptions的名称空间

此代码可能已弃用,无法正常工作。关于此的所有主题都来自几年前,所以我不知道从那时起它们已经更新了什么。同时,我希望所有人都可以使用它,因此我真的不需要为任何角色设置身份验证。

hangfire
1个回答
1
投票

正如您在评论评论中所要求的,如果要在不让应用程序在本地主机上运行的情况下设置对仪表板的公共访问,则需要添加自定义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
        });
© www.soinside.com 2019 - 2024. All rights reserved.