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

How can I publish Hangfire Dashboard for a custom web page?

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

中写什么
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{

});

它returns我的错误

Can't find namespace for CookieAuthenticationOptions

此代码可能已被弃用并且无法运行。所有关于这个的话题都是几年前的,所以我不知道他们从那时起更新了什么。同时我希望它对所有人开放,所以我真的不需要为任何角色设置身份验证。

正如您在评论评论中所问,如果您想在没有应用程序 运行 的情况下在本地主机上设置 public 访问您的仪表板,您需要添加自定义 DashboardAuthorizationFilter 这将始终return 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
        });