mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-04-24 22:07:32 -04:00
Fixed: Forms login persists across restarts in docker
(cherry picked from commit a219b4a1b869863b2ef47d4bdf33d308cb261ba3) Fixes #409
This commit is contained in:
parent
dd27d69e97
commit
147cdf2cce
3 changed files with 15 additions and 0 deletions
|
@ -258,6 +258,11 @@ namespace NzbDrone.Common.Extensions
|
||||||
return appFolderInfo.AppDataFolder;
|
return appFolderInfo.AppDataFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string GetDataProtectionPath(this IAppFolderInfo appFolderInfo)
|
||||||
|
{
|
||||||
|
return Path.Combine(GetAppDataPath(appFolderInfo), "asp");
|
||||||
|
}
|
||||||
|
|
||||||
public static string GetLogFolder(this IAppFolderInfo appFolderInfo)
|
public static string GetLogFolder(this IAppFolderInfo appFolderInfo)
|
||||||
{
|
{
|
||||||
return Path.Combine(GetAppDataPath(appFolderInfo), "logs");
|
return Path.Combine(GetAppDataPath(appFolderInfo), "logs");
|
||||||
|
|
|
@ -8,8 +8,10 @@ using System.Security.Cryptography.X509Certificates;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using DryIoc;
|
using DryIoc;
|
||||||
using DryIoc.Microsoft.DependencyInjection;
|
using DryIoc.Microsoft.DependencyInjection;
|
||||||
|
using Microsoft.AspNetCore.DataProtection;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Hosting.WindowsServices;
|
using Microsoft.Extensions.Hosting.WindowsServices;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
@ -129,6 +131,7 @@ namespace NzbDrone.Host
|
||||||
})
|
})
|
||||||
.ConfigureWebHost(builder =>
|
.ConfigureWebHost(builder =>
|
||||||
{
|
{
|
||||||
|
builder.UseConfiguration(config);
|
||||||
builder.UseUrls(urls.ToArray());
|
builder.UseUrls(urls.ToArray());
|
||||||
builder.UseKestrel(options =>
|
builder.UseKestrel(options =>
|
||||||
{
|
{
|
||||||
|
@ -195,6 +198,7 @@ namespace NzbDrone.Host
|
||||||
var appFolder = new AppFolderInfo(context);
|
var appFolder = new AppFolderInfo(context);
|
||||||
return new ConfigurationBuilder()
|
return new ConfigurationBuilder()
|
||||||
.AddXmlFile(appFolder.GetConfigPath(), optional: true, reloadOnChange: false)
|
.AddXmlFile(appFolder.GetConfigPath(), optional: true, reloadOnChange: false)
|
||||||
|
.AddInMemoryCollection(new List<KeyValuePair<string, string>> { new ("dataProtectionFolder", appFolder.GetDataProtectionPath()) })
|
||||||
.Build();
|
.Build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Microsoft.AspNetCore.DataProtection;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.HttpOverrides;
|
using Microsoft.AspNetCore.HttpOverrides;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
|
@ -45,6 +47,7 @@ namespace NzbDrone.Host
|
||||||
b.SetMinimumLevel(LogLevel.Trace);
|
b.SetMinimumLevel(LogLevel.Trace);
|
||||||
b.AddFilter("Microsoft.AspNetCore", LogLevel.Warning);
|
b.AddFilter("Microsoft.AspNetCore", LogLevel.Warning);
|
||||||
b.AddFilter("Prowlarr.Http.Authentication", LogLevel.Information);
|
b.AddFilter("Prowlarr.Http.Authentication", LogLevel.Information);
|
||||||
|
b.AddFilter("Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager", LogLevel.Error);
|
||||||
b.AddNLog();
|
b.AddNLog();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -94,6 +97,9 @@ namespace NzbDrone.Host
|
||||||
options.PayloadSerializerOptions = STJson.GetSerializerSettings();
|
options.PayloadSerializerOptions = STJson.GetSerializerSettings();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
services.AddDataProtection()
|
||||||
|
.PersistKeysToFileSystem(new DirectoryInfo(Configuration["dataProtectionFolder"]));
|
||||||
|
|
||||||
services.AddSingleton<IAuthorizationPolicyProvider, UiAuthorizationPolicyProvider>();
|
services.AddSingleton<IAuthorizationPolicyProvider, UiAuthorizationPolicyProvider>();
|
||||||
services.AddAuthorization(options =>
|
services.AddAuthorization(options =>
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue