use*_*820 3 asp.net-mvc-5 hangfire
我正在使用ASP.NET MVC 5. .NET Framework的版本为4.5.在我发布我的项目后,Hangfire不再工作了.所以我的重复任务不会工作.当我输入www.{myurl}/Hangfire时,我得到一个空白网站.conenction String不会抛出错误.
config.UseSqlServerStorage("Server={myServer}.database.windows.net,1433;Database={myDatabase};User ID={myUserId};Password={MyPassword};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;");
config.UseServer();
Run Code Online (Sandbox Code Playgroud)
那么问题出在哪里呢?当我在localhost上运行我的项目时,它工作正常.我在localhost和我发布的项目版本上使用相同的数据库.
默认情况下,对Hangfire Dashboard的远程请求被拒绝 - 在将其公布到生产环境之前忘记授权非常简单.
您可以使用Hangfire.Dashboard.Authorization包根据用户,角色,声明或基本身份验证配置授权; 或创建自己的授权过滤器,如下所示.
using Hangfire.Dashboard;
public class MyRestrictiveAuthorizationFilter : IAuthorizationFilter
{
public bool Authorize(IDictionary<string, object> owinEnvironment)
{
// In case you need an OWIN context, use the next line.
// `OwinContext` class is defined in the `Microsoft.Owin` package.
var context = new OwinContext(owinEnvironment);
return false; // or `true` to allow access
}
}
Run Code Online (Sandbox Code Playgroud)
创建授权过滤器后,注册它:
app.UseHangfire(config =>
{
config.UseAuthorizationFilters(new MyRestrictiveAuthorizationFilter());
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4026 次 |
| 最近记录: |