This commit is contained in:
Kukks
2019-11-16 08:57:16 +01:00
parent f1cef81d76
commit 22ffd48cd4

View File

@@ -80,7 +80,10 @@ namespace BTCPayServer.Controllers
// Clear the existing external cookie to ensure a clean login process // Clear the existing external cookie to ensure a clean login process
await HttpContext.SignOutAsync(IdentityConstants.ExternalScheme); await HttpContext.SignOutAsync(IdentityConstants.ExternalScheme);
CanLoginOrRegister(); if (!CanLoginOrRegister())
{
SetInsecureFlags();
}
ViewData["ReturnUrl"] = returnUrl; ViewData["ReturnUrl"] = returnUrl;
return View(); return View();
@@ -95,7 +98,7 @@ namespace BTCPayServer.Controllers
{ {
if (!CanLoginOrRegister()) if (!CanLoginOrRegister())
{ {
return View(model); return RedirectToAction("Login");
} }
ViewData["ReturnUrl"] = returnUrl; ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid) if (ModelState.IsValid)
@@ -399,8 +402,11 @@ namespace BTCPayServer.Controllers
[AllowAnonymous] [AllowAnonymous]
public async Task<IActionResult> Register(string returnUrl = null, bool logon = true, bool useBasicLayout = false) public async Task<IActionResult> Register(string returnUrl = null, bool logon = true, bool useBasicLayout = false)
{ {
CanLoginOrRegister(); if (!CanLoginOrRegister())
var policies = await _SettingsRepository.GetSettingAsync<PoliciesSettings>() ?? new PoliciesSettings(); {
SetInsecureFlags();
}
var policies = await _SettingsRepository.GetSettingAsync<PoliciesSettings>() ?? new PoliciesSettings();
if (policies.LockSubscription && !User.IsInRole(Roles.ServerAdmin)) if (policies.LockSubscription && !User.IsInRole(Roles.ServerAdmin))
return RedirectToAction(nameof(HomeController.Index), "Home"); return RedirectToAction(nameof(HomeController.Index), "Home");
ViewData["ReturnUrl"] = returnUrl; ViewData["ReturnUrl"] = returnUrl;
@@ -623,7 +629,11 @@ namespace BTCPayServer.Controllers
private bool CanLoginOrRegister() private bool CanLoginOrRegister()
{ {
if (_btcPayServerEnvironment.IsDevelopping || _btcPayServerEnvironment.IsSecure) return true; return _btcPayServerEnvironment.IsDevelopping || _btcPayServerEnvironment.IsSecure;
}
private void SetInsecureFlags()
{
TempData.SetStatusMessageModel(new StatusMessageModel() TempData.SetStatusMessageModel(new StatusMessageModel()
{ {
Severity = StatusMessageModel.StatusSeverity.Error, Severity = StatusMessageModel.StatusSeverity.Error,
@@ -631,8 +641,6 @@ namespace BTCPayServer.Controllers
}); });
ViewData["disabled"] = true; ViewData["disabled"] = true;
return false;
} }
#endregion #endregion