fixed a bug with null values of settings
This commit is contained in:
parent
0da6992414
commit
6c197d9372
@ -46,13 +46,11 @@ public class StudioSmsNotificationSettingsHelper : TfaSettingsHelperBase<StudioS
|
||||
{
|
||||
private readonly CoreBaseSettings _coreBaseSettings;
|
||||
private readonly SetupInfo _setupInfo;
|
||||
private readonly SettingsManager _settingsManager;
|
||||
private readonly SmsProviderManager _smsProviderManager;
|
||||
private readonly TenantManager _tenantManager;
|
||||
|
||||
public StudioSmsNotificationSettingsHelper(
|
||||
IHttpContextAccessor httpContextAccessor,
|
||||
TenantExtra tenantExtra,
|
||||
CoreBaseSettings coreBaseSettings,
|
||||
SetupInfo setupInfo,
|
||||
SettingsManager settingsManager,
|
||||
@ -63,7 +61,6 @@ public class StudioSmsNotificationSettingsHelper : TfaSettingsHelperBase<StudioS
|
||||
{
|
||||
_coreBaseSettings = coreBaseSettings;
|
||||
_setupInfo = setupInfo;
|
||||
_settingsManager = settingsManager;
|
||||
_smsProviderManager = smsProviderManager;
|
||||
_tenantManager = tenantManager;
|
||||
}
|
||||
|
@ -70,28 +70,36 @@ public abstract class TfaSettingsHelperBase<T> where T : TfaSettingsBase<T>, new
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach (var mandatory in settings.MandatoryGroups)
|
||||
{
|
||||
if (_userManager.IsUserInGroup(userGuid, mandatory))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (settings.MandatoryGroups != null)
|
||||
{
|
||||
foreach (var mandatory in settings.MandatoryGroups)
|
||||
{
|
||||
if (_userManager.IsUserInGroup(userGuid, mandatory))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var mandatory in settings.MandatoryUsers)
|
||||
{
|
||||
if (mandatory == userGuid)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (settings.MandatoryUsers != null)
|
||||
{
|
||||
foreach (var mandatory in settings.MandatoryUsers)
|
||||
{
|
||||
if (mandatory == userGuid)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var requestIP = MessageSettings.GetIP(_httpContextAccessor.HttpContext.Request);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(requestIP) && settings.TrustedIps.Any(trustedIp => IPSecurity.IPSecurity.MatchIPs(requestIP, trustedIp)))
|
||||
{
|
||||
return false;
|
||||
|
||||
if (settings.TrustedIps != null && settings.TrustedIps.Any())
|
||||
{
|
||||
var requestIP = MessageSettings.GetIP(_httpContextAccessor.HttpContext.Request);
|
||||
if (!string.IsNullOrWhiteSpace(requestIP) && settings.TrustedIps.Any(trustedIp => IPSecurity.IPSecurity.MatchIPs(requestIP, trustedIp)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user