Fix #5054: parse string to number with invariant culture.
This commit is contained in:
@ -24,7 +24,7 @@ namespace Oqtane.Extensions
|
||||
{
|
||||
if (claimsPrincipal.HasClaim(item => item.Type == ClaimTypes.NameIdentifier))
|
||||
{
|
||||
return int.Parse(claimsPrincipal.Claims.First(item => item.Type == ClaimTypes.NameIdentifier).Value);
|
||||
return SharedConverter.ParseInteger(claimsPrincipal.Claims.First(item => item.Type == ClaimTypes.NameIdentifier).Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -55,7 +55,7 @@ namespace Oqtane.Extensions
|
||||
var sitekey = SiteKey(claimsPrincipal);
|
||||
if (!string.IsNullOrEmpty(sitekey) && sitekey.Contains(":"))
|
||||
{
|
||||
return int.Parse(sitekey.Split(':')[0]);
|
||||
return SharedConverter.ParseInteger(sitekey.Split(':')[0]);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@ -65,7 +65,7 @@ namespace Oqtane.Extensions
|
||||
var sitekey = SiteKey(claimsPrincipal);
|
||||
if (!string.IsNullOrEmpty(sitekey) && sitekey.Contains(":"))
|
||||
{
|
||||
return int.Parse(sitekey.Split(':')[1]);
|
||||
return SharedConverter.ParseInteger(sitekey.Split(':')[1]);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Oqtane.Models;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using System;
|
||||
using Oqtane.Shared;
|
||||
|
||||
namespace Oqtane.Extensions
|
||||
{
|
||||
@ -13,15 +14,15 @@ namespace Oqtane.Extensions
|
||||
builder.AddSiteOptions<IdentityOptions>((options, alias, sitesettings) =>
|
||||
{
|
||||
// password options
|
||||
options.Password.RequiredLength = int.Parse(sitesettings.GetValue("IdentityOptions:Password:RequiredLength", options.Password.RequiredLength.ToString()));
|
||||
options.Password.RequiredUniqueChars = int.Parse(sitesettings.GetValue("IdentityOptions:Password:RequiredUniqueChars", options.Password.RequiredUniqueChars.ToString()));
|
||||
options.Password.RequiredLength = SharedConverter.ParseInteger(sitesettings.GetValue("IdentityOptions:Password:RequiredLength", options.Password.RequiredLength.ToString()));
|
||||
options.Password.RequiredUniqueChars = SharedConverter.ParseInteger(sitesettings.GetValue("IdentityOptions:Password:RequiredUniqueChars", options.Password.RequiredUniqueChars.ToString()));
|
||||
options.Password.RequireDigit = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireDigit", options.Password.RequireDigit.ToString()));
|
||||
options.Password.RequireUppercase = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireUppercase", options.Password.RequireUppercase.ToString()));
|
||||
options.Password.RequireLowercase = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireLowercase", options.Password.RequireLowercase.ToString()));
|
||||
options.Password.RequireNonAlphanumeric = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireNonAlphanumeric", options.Password.RequireNonAlphanumeric.ToString()));
|
||||
|
||||
// lockout options
|
||||
options.Lockout.MaxFailedAccessAttempts = int.Parse(sitesettings.GetValue("IdentityOptions:Lockout:MaxFailedAccessAttempts", options.Lockout.MaxFailedAccessAttempts.ToString()));
|
||||
options.Lockout.MaxFailedAccessAttempts = SharedConverter.ParseInteger(sitesettings.GetValue("IdentityOptions:Lockout:MaxFailedAccessAttempts", options.Lockout.MaxFailedAccessAttempts.ToString()));
|
||||
options.Lockout.DefaultLockoutTimeSpan = TimeZoneInfo.Local.GetUtcOffset(DateTime.UtcNow) + TimeSpan.Parse(sitesettings.GetValue("IdentityOptions:Lockout:DefaultLockoutTimeSpan", options.Lockout.DefaultLockoutTimeSpan.ToString()));
|
||||
options.Lockout.AllowedForNewUsers = options.Lockout.MaxFailedAccessAttempts > 0;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user