From be6d2f9b8adb4f64ab53e25822ebf95607570326 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 7 Oct 2025 14:38:04 +0800 Subject: [PATCH 01/17] Add user password history entity. --- .../IdentityUserPasswordHistoriesConsts.cs | 9 ++++ .../Volo/Abp/Identity/Localization/en.json | 1 + .../Identity/Settings/IdentitySettingNames.cs | 1 + .../AbpIdentitySettingDefinitionProvider.cs | 7 +++ .../Volo/Abp/Identity/IdentityUser.cs | 6 +++ .../Identity/IdentityUserPasswordHistory.cs | 49 +++++++++++++++++++ .../EntityFrameworkCore/IdentityDbContext.cs | 2 + ...IdentityDbContextModelBuilderExtensions.cs | 11 +++++ .../IdentityEfCoreQueryableExtensions.cs | 3 +- .../MongoDB/AbpIdentityMongoDbContext.cs | 2 + .../MongoDB/IAbpIdentityMongoDbContext.cs | 2 + 11 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserPasswordHistoriesConsts.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserPasswordHistoriesConsts.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserPasswordHistoriesConsts.cs new file mode 100644 index 0000000000..7d9dede55d --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserPasswordHistoriesConsts.cs @@ -0,0 +1,9 @@ +namespace Volo.Abp.Identity; + +public class IdentityUserPasswordHistoriesConsts +{ + /// + /// Default value: 256 + /// + public static int MaxPasswordLength { get; set; } = 256; +} diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json index 266ce50b5a..41e8b294e9 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Passwords must have at least one uppercase ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Passwords must be at least {0} characters.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Passwords must use at least {0} different characters.", + "Volo.Abp.Identity:PasswordInHistory": "Passwords must not match your last {0} passwords.", "Volo.Abp.Identity:RoleNotFound": "Role {0} does not exist.", "Volo.Abp.Identity:UserAlreadyHasPassword": "User already has a password set.", "Volo.Abp.Identity:UserAlreadyInRole": "User already in role '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs index b36995aa3b..1a0e00fa6f 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs @@ -16,6 +16,7 @@ public static class IdentitySettingNames public const string RequireDigit = PasswordPrefix + ".RequireDigit"; public const string ForceUsersToPeriodicallyChangePassword = PasswordPrefix + ".ForceUsersToPeriodicallyChangePassword"; public const string PasswordChangePeriodDays = PasswordPrefix + ".PasswordChangePeriodDays"; + public const string PreventPasswordReuseCount = PasswordPrefix + ".PreventPasswordReuseCount"; } public static class Lockout diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs index 7448593c77..8f72b2fa0c 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs @@ -66,6 +66,13 @@ public class AbpIdentitySettingDefinitionProvider : SettingDefinitionProvider L("Description:Abp.Identity.Password.PasswordChangePeriodDays"), true), + new SettingDefinition( + IdentitySettingNames.Password.PreventPasswordReuseCount, + 6.ToString(), + L("DisplayName:Abp.Identity.Password.PreventPasswordReuseCount"), + L("Description:Abp.Identity.Password.PreventPasswordReuseCount"), + true), + new SettingDefinition( IdentitySettingNames.Lockout.AllowedForNewUsers, true.ToString(), diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs index ec5db2fe90..e30dbdaff2 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs @@ -154,6 +154,11 @@ public class IdentityUser : FullAuditedAggregateRoot, IUser, IHasEntityVer /// public virtual ICollection OrganizationUnits { get; protected set; } + /// + /// Navigation property for this users password history. + /// + public virtual ICollection PasswordHistories { get; protected set; } + protected IdentityUser() { } @@ -182,6 +187,7 @@ public class IdentityUser : FullAuditedAggregateRoot, IUser, IHasEntityVer Logins = new Collection(); Tokens = new Collection(); OrganizationUnits = new Collection(); + PasswordHistories = new Collection(); } public virtual void AddRole(Guid roleId) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs new file mode 100644 index 0000000000..cfa0f72248 --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs @@ -0,0 +1,49 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using Volo.Abp.Domain.Entities; +using Volo.Abp.MultiTenancy; + +namespace Volo.Abp.Identity; + +/// +/// Represents a password history entry for a user. +/// +public class IdentityUserPasswordHistory : Entity, IMultiTenant +{ + public virtual Guid? TenantId { get; protected set; } + + /// + /// Gets or sets the of the primary key of the user associated with this password history entry. + /// + public virtual Guid UserId { get; protected set; } + + /// + /// Gets or sets the password. + /// + public virtual string Password { get; protected set; } + + public virtual DateTime CreatedAt { get; set; } + + protected IdentityUserPasswordHistory() + { + + } + + protected internal IdentityUserPasswordHistory( + Guid userId, + [NotNull] string password, + Guid? tenantId) + { + Check.NotNull(password, nameof(password)); + + UserId = userId; + Password = password; + CreatedAt = DateTime.UtcNow; + TenantId = tenantId; + } + + public override object[] GetKeys() + { + return new object[] { UserId, Password }; + } +} diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs index 3bb7777cb4..3c424ea980 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs @@ -26,6 +26,8 @@ public class IdentityDbContext : AbpDbContext, IIdentityDbCon public DbSet Sessions { get; set; } + public DbSet UserPasswordHistories { get; set; } + public IdentityDbContext(DbContextOptions options) : base(options) { diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs index f94f4690cc..ba029555e6 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs @@ -224,6 +224,17 @@ public static class IdentityDbContextModelBuilderExtensions b.ApplyObjectExtensionMappings(); }); + builder.Entity(b => + { + b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "UserPasswordHistories", AbpIdentityDbProperties.DbSchema); + + b.ConfigureByConvention(); + + b.Property(x => x.Password).HasMaxLength(IdentityUserPasswordHistoriesConsts.MaxPasswordLength).IsRequired(); + + b.ApplyObjectExtensionMappings(); + }); + builder.Entity(b => { b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "SecurityLogs", AbpIdentityDbProperties.DbSchema); diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityEfCoreQueryableExtensions.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityEfCoreQueryableExtensions.cs index 2f04fbbe62..0d51910e97 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityEfCoreQueryableExtensions.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityEfCoreQueryableExtensions.cs @@ -17,7 +17,8 @@ public static class IdentityEfCoreQueryableExtensions .Include(x => x.Logins) .Include(x => x.Claims) .Include(x => x.Tokens) - .Include(x => x.OrganizationUnits); + .Include(x => x.OrganizationUnits) + .Include(x => x.PasswordHistories); } public static IQueryable IncludeDetails(this IQueryable queryable, bool include = true) diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs index 86995f5472..e5dd2af3b6 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs @@ -23,6 +23,8 @@ public class AbpIdentityMongoDbContext : AbpMongoDbContext, IAbpIdentityMongoDbC public IMongoCollection Sessions => Collection(); + public IMongoCollection UserPasswordHistories => Collection(); + protected override void CreateModel(IMongoModelBuilder modelBuilder) { base.CreateModel(modelBuilder); diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs index 7481afe5ac..3c4f72e5ab 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs @@ -22,4 +22,6 @@ public interface IAbpIdentityMongoDbContext : IAbpMongoDbContext IMongoCollection UserDelegations { get; } IMongoCollection Sessions { get; } + + IMongoCollection UserPasswordHistories { get; } } From 62d63310421cec8fda0796ed16412c667e51c89e Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 7 Oct 2025 16:16:16 +0800 Subject: [PATCH 02/17] Add setting to enable password reuse prevention --- .../Volo/Abp/Identity/Settings/IdentitySettingNames.cs | 1 + .../Abp/Identity/AbpIdentitySettingDefinitionProvider.cs | 7 +++++++ .../Volo/Abp/Identity/IdentityUser.cs | 9 +++++++++ 3 files changed, 17 insertions(+) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs index 1a0e00fa6f..88ccae3761 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Settings/IdentitySettingNames.cs @@ -16,6 +16,7 @@ public static class IdentitySettingNames public const string RequireDigit = PasswordPrefix + ".RequireDigit"; public const string ForceUsersToPeriodicallyChangePassword = PasswordPrefix + ".ForceUsersToPeriodicallyChangePassword"; public const string PasswordChangePeriodDays = PasswordPrefix + ".PasswordChangePeriodDays"; + public const string EnablePreventPasswordReuse = PasswordPrefix + ".EnablePreventPasswordReuse"; public const string PreventPasswordReuseCount = PasswordPrefix + ".PreventPasswordReuseCount"; } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs index 8f72b2fa0c..fb1a674fb9 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs @@ -66,6 +66,13 @@ public class AbpIdentitySettingDefinitionProvider : SettingDefinitionProvider L("Description:Abp.Identity.Password.PasswordChangePeriodDays"), true), + new SettingDefinition( + IdentitySettingNames.Password.EnablePreventPasswordReuse, + false.ToString(), + L("DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse"), + L("Description:Abp.Identity.Password.EnablePreventPasswordReuse"), + true), + new SettingDefinition( IdentitySettingNames.Password.PreventPasswordReuseCount, 6.ToString(), diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs index e30dbdaff2..be9ccfe8bb 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs @@ -351,6 +351,15 @@ public class IdentityUser : FullAuditedAggregateRoot, IUser, IHasEntityVer ); } + public virtual void AddPasswordHistory(string password) + { + PasswordHistories.Add(new IdentityUserPasswordHistory( + Id, + password, + TenantId) + ); + } + /// /// Use for regular email confirmation. /// Using this skips the confirmation process and directly sets the . From b1a9ddbee2c51ab3ef546b76521a4120ed88847c Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 7 Oct 2025 16:29:30 +0800 Subject: [PATCH 03/17] Add UserPasswordHistories DbSet to IIdentityDbContext --- .../Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs index 6fe3b8dd9b..4e2e3c1c3c 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs @@ -22,4 +22,6 @@ public interface IIdentityDbContext : IEfCoreDbContext DbSet UserDelegations { get; } DbSet Sessions { get; } + + DbSet UserPasswordHistories { get; } } From 685714e133260dcb1d0c0a8dc7828d38790414d0 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 7 Oct 2025 17:43:47 +0800 Subject: [PATCH 04/17] Revert "Add UserPasswordHistories DbSet to IIdentityDbContext" This reverts commit b1a9ddbee2c51ab3ef546b76521a4120ed88847c. --- .../Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs index 4e2e3c1c3c..6fe3b8dd9b 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IIdentityDbContext.cs @@ -22,6 +22,4 @@ public interface IIdentityDbContext : IEfCoreDbContext DbSet UserDelegations { get; } DbSet Sessions { get; } - - DbSet UserPasswordHistories { get; } } From 56840737a13f751eff41452fb4a23866542d24cb Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 7 Oct 2025 20:07:55 +0800 Subject: [PATCH 05/17] Remove UserPasswordHistories DbSet and update model builder --- .../Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs | 2 -- .../IdentityDbContextModelBuilderExtensions.cs | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs index 3c424ea980..3bb7777cb4 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs @@ -26,8 +26,6 @@ public class IdentityDbContext : AbpDbContext, IIdentityDbCon public DbSet Sessions { get; set; } - public DbSet UserPasswordHistories { get; set; } - public IdentityDbContext(DbContextOptions options) : base(options) { diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs index ba029555e6..5c0441404a 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs @@ -230,6 +230,8 @@ public static class IdentityDbContextModelBuilderExtensions b.ConfigureByConvention(); + b.HasKey(x => new { x.UserId, x.Password }); + b.Property(x => x.Password).HasMaxLength(IdentityUserPasswordHistoriesConsts.MaxPasswordLength).IsRequired(); b.ApplyObjectExtensionMappings(); From ecee36baefb3250e535e0034c2582ee90e2762c5 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 8 Oct 2025 10:37:40 +0800 Subject: [PATCH 06/17] Add password history validation message --- .../AspNetCore/Identity/AbpIdentityResultExtensions.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs index eda4f950e5..e851cbc6cc 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs @@ -45,6 +45,8 @@ public static class AbpIdentityResultExtensions IdentityStrings["InvalidUserName"] = "Username '{0}' is invalid."; } + IdentityStrings["PasswordInHistory"] = "Passwords must not match your last {0} passwords."; + if (!IdentityStrings.Any()) { throw new AbpException("ResourceSet values of Identity is empty."); From 7a2bc0d52c0266840bcf605971b74a785ac27dc3 Mon Sep 17 00:00:00 2001 From: Ma Liming Date: Wed, 8 Oct 2025 10:43:22 +0800 Subject: [PATCH 07/17] Update modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../Volo/Abp/Identity/IdentityUserPasswordHistory.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs index cfa0f72248..40cfd6c3e0 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs @@ -13,7 +13,7 @@ public class IdentityUserPasswordHistory : Entity, IMultiTenant public virtual Guid? TenantId { get; protected set; } /// - /// Gets or sets the of the primary key of the user associated with this password history entry. + /// Gets or sets the primary key of the user associated with this password history entry. /// public virtual Guid UserId { get; protected set; } From 66ab43b4e068d43f9648355786eea8fd238d8ee3 Mon Sep 17 00:00:00 2001 From: Ma Liming Date: Wed, 8 Oct 2025 10:43:28 +0800 Subject: [PATCH 08/17] Update modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../Volo/Abp/Identity/IdentityUserPasswordHistory.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs index 40cfd6c3e0..48729af6dc 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs @@ -22,7 +22,7 @@ public class IdentityUserPasswordHistory : Entity, IMultiTenant /// public virtual string Password { get; protected set; } - public virtual DateTime CreatedAt { get; set; } + public virtual DateTime CreatedAt { get; protected set; } protected IdentityUserPasswordHistory() { From 4317bac311f4b1e6f20c837e07ace6c6c07ad3c0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 8 Oct 2025 02:56:17 +0000 Subject: [PATCH 10/17] Add PasswordInHistory localization to all language files Co-authored-by: maliming <6908465+maliming@users.noreply.github.com> --- .../Volo/Abp/Identity/Localization/ar.json | 1 + .../Volo/Abp/Identity/Localization/cs.json | 1 + .../Volo/Abp/Identity/Localization/de.json | 1 + .../Volo/Abp/Identity/Localization/el.json | 1 + .../Volo/Abp/Identity/Localization/en-GB.json | 1 + .../Volo/Abp/Identity/Localization/es.json | 1 + .../Volo/Abp/Identity/Localization/fa.json | 1 + .../Volo/Abp/Identity/Localization/fi.json | 1 + .../Volo/Abp/Identity/Localization/fr.json | 1 + .../Volo/Abp/Identity/Localization/hi.json | 1 + .../Volo/Abp/Identity/Localization/hr.json | 1 + .../Volo/Abp/Identity/Localization/hu.json | 1 + .../Volo/Abp/Identity/Localization/is.json | 1 + .../Volo/Abp/Identity/Localization/it.json | 1 + .../Volo/Abp/Identity/Localization/nl.json | 1 + .../Volo/Abp/Identity/Localization/pl-PL.json | 1 + .../Volo/Abp/Identity/Localization/pt-BR.json | 1 + .../Volo/Abp/Identity/Localization/ro-RO.json | 1 + .../Volo/Abp/Identity/Localization/ru.json | 1 + .../Volo/Abp/Identity/Localization/sk.json | 1 + .../Volo/Abp/Identity/Localization/sl.json | 1 + .../Volo/Abp/Identity/Localization/sv.json | 1 + .../Volo/Abp/Identity/Localization/tr.json | 1 + .../Volo/Abp/Identity/Localization/vi.json | 1 + .../Volo/Abp/Identity/Localization/zh-Hans.json | 1 + .../Volo/Abp/Identity/Localization/zh-Hant.json | 1 + 26 files changed, 26 insertions(+) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json index 834c3d007b..1014e4db54 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "يجب أن تحتوي كلمات المرور على حرف كبير واحد على الأقل ('A' - 'Z').", "Volo.Abp.Identity:PasswordTooShort": "يجب أن تتكون كلمات المرور من {0} حرف على الأقل.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "يجب أن تحتوي كلمات المرور على {0} حرف فريد على الأقل.", + "Volo.Abp.Identity:PasswordInHistory": "يجب ألا تتطابق كلمات المرور مع آخر {0} كلمات مرور.", "Volo.Abp.Identity:RoleNotFound": "الدور {0} غير موجود.", "Volo.Abp.Identity:UserAlreadyHasPassword": "لدى المستخدم بالفعل مجموعة كلمات مرور.", "Volo.Abp.Identity:UserAlreadyInRole": "المستخدم بالفعل في الدور '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json index deea27dd17..a26d3e43f0 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Hesla musí obsahovat alespoň jedno velké písmeno ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Hesla musí být dlouhá alespoň {0} znaků.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Hesla nesmí obsahovat více než {0} opakujících se znaků.", + "Volo.Abp.Identity:PasswordInHistory": "Hesla se nesmí shodovat s posledními {0} hesly.", "Volo.Abp.Identity:RoleNotFound": "Role {0} neexistuje.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Uživatel již má nastavené heslo.", "Volo.Abp.Identity:UserAlreadyInRole": "Uživatel již je v roli '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json index 5987f215d7..b22f985e19 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Passwörter müssen mindestens einen Großbuchstaben ('A' - 'Z') enthalten.", "Volo.Abp.Identity:PasswordTooShort": "Passwörter müssen mindestens {0} Zeichen lang sein.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Passwörter dürfen nicht mehr als {0} aufeinanderfolgende identische Zeichen enthalten.", + "Volo.Abp.Identity:PasswordInHistory": "Passwörter dürfen nicht mit Ihren letzten {0} Passwörtern übereinstimmen.", "Volo.Abp.Identity:RoleNotFound": "Rolle {0} existiert nicht.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Der Benutzer hat bereits ein Passwort festgelegt.", "Volo.Abp.Identity:UserAlreadyInRole": "Benutzer bereits in Rolle '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json index b3b040cb91..2b1712a7eb 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json @@ -56,6 +56,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Οι κωδικοί πρόσβασης πρέπει να έχουν τουλάχιστον ένα κεφαλαίο ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Οι κωδικοί πρόσβασης πρέπει να είναι τουλάχιστον {0} χαρακτήρες.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Οι κωδικοί πρόσβασης πρέπει να έχουν τουλάχιστον {0} μοναδικούς χαρακτήρες.", + "Volo.Abp.Identity:PasswordInHistory": "Οι κωδικοί πρόσβασης δεν πρέπει να ταιριάζουν με τους τελευταίους {0} κωδικούς πρόσβασής σας.", "Volo.Abp.Identity:RoleNotFound": "Ο ρόλος {0} δεν υπάρχει", "Volo.Abp.Identity:UserAlreadyHasPassword": "Ο χρήστης έχει ήδη ορίσει κωδικό πρόσβασης.", "Volo.Abp.Identity:UserAlreadyInRole": "Χρήστης ήδη στο ρόλο '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json index b7d30bb30a..e7355ce60b 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json @@ -56,6 +56,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Passwords must have at least one uppercase ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Passwords must be at least {0} characters.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Passwords must use at least {0} different characters.", + "Volo.Abp.Identity:PasswordInHistory": "Passwords must not match your last {0} passwords.", "Volo.Abp.Identity:RoleNotFound": "Role {0} does not exist.", "Volo.Abp.Identity:UserAlreadyHasPassword": "User already has a password set.", "Volo.Abp.Identity:UserAlreadyInRole": "User is already in role '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json index 861ffe10b0..93096ba67f 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Contraseñas deben tener al menos un carácter en mayúsculas ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Contraseñas deben tener al menos {0} caracteres", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Contraseñas deben usar al menos {0} caracteres diferentes.", + "Volo.Abp.Identity:PasswordInHistory": "Las contraseñas no deben coincidir con sus últimas {0} contraseñas.", "Volo.Abp.Identity:RoleNotFound": "El rol {0} no existe.", "Volo.Abp.Identity:UserAlreadyHasPassword": "El usuario tiene la contraseña establecida", "Volo.Abp.Identity:UserAlreadyInRole": "El usuario ya tiene asignado el rol '{0}'´.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json index b733dbd4eb..af7e97f54c 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "رمزهای عبور باید حداقل دارای یک حروف بزرگ ('A'-'Z') باشند.", "Volo.Abp.Identity:PasswordTooShort": "گذرواژه ها باید حداقل {0} نویسه داشته باشند.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "گذرواژه ها نباید بیش از {0} کاراکتر تکراری داشته باشند.", + "Volo.Abp.Identity:PasswordInHistory": "گذرواژه ها نباید با {0} گذرواژه آخر شما مطابقت داشته باشند.", "Volo.Abp.Identity:RoleNotFound": "نقش/وظیفه {0} یافت نشد.", "Volo.Abp.Identity:UserAlreadyHasPassword": "کاربر قبلاً گذرواژه تنظیم کرده است.", "Volo.Abp.Identity:UserAlreadyInRole": "کاربر قبلاً در این نقش/وظیفه {0} عضو میباشد.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json index 1ad2950b8e..50364c2621 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Salasanoissa on oltava vähintään yksi isot kirjaimet ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Salasanojen on oltava vähintään {0} merkkiä.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Salasanojen on käytettävä vähintään {0} erilaista merkkiä.", + "Volo.Abp.Identity:PasswordInHistory": "Salasanojen ei saa täsmätä viimeisten {0} salasanasi kanssa.", "Volo.Abp.Identity:RoleNotFound": "Roolia {0} ei ole olemassa.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Käyttäjällä on jo asetettu salasana.", "Volo.Abp.Identity:UserAlreadyInRole": "Käyttäjä on jo roolissa {0}.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json index 39c5a3a71d..8bbf78e540 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Les mots de passe doivent avoir au moins une majuscule ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Les mots de passe doivent être au moins {0} caractères.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Les mots de passe doivent utiliser au moins {0} caractères différents.", + "Volo.Abp.Identity:PasswordInHistory": "Les mots de passe ne doivent pas correspondre à vos {0} derniers mots de passe.", "Volo.Abp.Identity:RoleNotFound": "La {0} de rôle n’existe pas.", "Volo.Abp.Identity:UserAlreadyHasPassword": "L’utilisateur dispose déjà d’un jeu de mots de passe.", "Volo.Abp.Identity:UserAlreadyInRole": "Utilisateur déjà dans le rôle '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json index 760ae275de..9eef75a959 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "पासवर्ड में कम से कम एक अपरकेस ('ए' - 'जेड') होना चाहिए।", "Volo.Abp.Identity:PasswordTooShort": "पासवर्ड कम से कम {0} वर्ण का होना चाहिए।", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "पासवर्ड में कम से कम {0} अद्वितीय वर्ण होना चाहिए।", + "Volo.Abp.Identity:PasswordInHistory": "पासवर्ड आपके अंतिम {0} पासवर्ड से मेल नहीं खाना चाहिए।", "Volo.Abp.Identity:RoleNotFound": "भूमिका {0} मौजूद नहीं है।", "Volo.Abp.Identity:UserAlreadyHasPassword": "उपयोगकर्ता के पास पहले से ही एक पासवर्ड सेट है।", "Volo.Abp.Identity:UserAlreadyInRole": "उपयोगकर्ता पहले से ही '{0}' की भूमिका में है।", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json index 5af46488f3..16589c5b29 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Lozinke moraju imati barem jedno veliko slovo ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Zaporke moraju imati najmanje {0} znakova.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Lozinke ne smiju sadržavati više od {0} uzastopnih jednakih znakova.", + "Volo.Abp.Identity:PasswordInHistory": "Lozinke se ne smiju podudarati s vašim zadnjih {0} lozinki.", "Volo.Abp.Identity:RoleNotFound": "Uloga {0} ne postoji.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Korisnik već ima postavljenu lozinku.", "Volo.Abp.Identity:UserAlreadyInRole": "Korisnik je već u ulozi '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json index 4c9ee448eb..9104a3b35b 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "A jelszavaknak legalább egy nagybetűvel kell rendelkezniük ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "A jelszónak minimum {0} karaktert kell tartalmaznia.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "A jelszavaknak legalább {0} egyedi karakterrel kell rendelkezniük.", + "Volo.Abp.Identity:PasswordInHistory": "A jelszavak nem egyezhetnek az utolsó {0} jelszavával.", "Volo.Abp.Identity:RoleNotFound": "{0} szerepkür nem létezik.", "Volo.Abp.Identity:UserAlreadyHasPassword": "A felhasználónak már van jelszava.", "Volo.Abp.Identity:UserAlreadyInRole": "A felhasználó már rendelkezik a '{0}' szerepkörrel.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json index 013bce103e..f0a579334d 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Lykilorð verða að hafa að minnsta kosti eina hástafi ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Lykilorð verða að vera að minnsta kosti {0} stafir.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Lykilorð verða að innihalda að minnsta kosti {0} einstaka stafi.", + "Volo.Abp.Identity:PasswordInHistory": "Lykilorð mega ekki passa við síðustu {0} lykilorðin þín.", "Volo.Abp.Identity:RoleNotFound": "Hlutverk {0} er ekki til.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Notandi hefur þegar stillt lykilorð.", "Volo.Abp.Identity:UserAlreadyInRole": "Notandi þegar í hlutverkinu '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json index 00d5c139b9..cc415f7bb4 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "La password deve contenere almeno una lettera maiuscola ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "La password deve essere composta da almeno {0} caratteri.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "La password deve contenere almeno {0} caratteri univoci.", + "Volo.Abp.Identity:PasswordInHistory": "Le password non devono corrispondere alle ultime {0} password.", "Volo.Abp.Identity:RoleNotFound": "Il ruolo {0} non esiste.", "Volo.Abp.Identity:UserAlreadyHasPassword": "L'utente ha già una password impostata.", "Volo.Abp.Identity:UserAlreadyInRole": "Utente già nel ruolo '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json index f7fab35933..40d22afc94 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Wachtwoorden moeten ten minste één hoofdletter bevatten ('A' - 'Z').", "Volo.Abp.Identity:PasswordTooShort": "Wachtwoorden moeten uit minimaal {0} tekens bestaan.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Wachtwoorden moeten minimaal {0} unieke tekens bevatten.", + "Volo.Abp.Identity:PasswordInHistory": "Wachtwoorden mogen niet overeenkomen met uw laatste {0} wachtwoorden.", "Volo.Abp.Identity:RoleNotFound": "Rol {0} bestaat niet.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Gebruiker heeft al een wachtwoord ingesteld.", "Volo.Abp.Identity:UserAlreadyInRole": "Gebruiker al in rol '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json index 8d794777ee..b5b30b6696 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Hasło musi zawierać przynajmniej jedną wielką literę ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Hasło musi zawierać przynajmnie {0} znaków.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Hasło musi zawierać przynajmniej {0} unikalnych znaków.", + "Volo.Abp.Identity:PasswordInHistory": "Hasło nie może być takie samo jak ostatnie {0} haseł.", "Volo.Abp.Identity:RoleNotFound": "Rola {0} nie istnieje.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Użytkownik ma już ustawione hasło.", "Volo.Abp.Identity:UserAlreadyInRole": "Użytkownik jest już przypisany do roli '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json index b8c4a0fdb7..1c15495ad4 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Senhas devem possuir pelo menos uma letra maiúscula ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Senhas devem possuir pelo menos {0} caracteres.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Senhas devem possuir pelo menos {0} caracteres únicos.", + "Volo.Abp.Identity:PasswordInHistory": "As senhas não devem coincidir com suas últimas {0} senhas.", "Volo.Abp.Identity:RoleNotFound": "Perfil {0} não existe.", "Volo.Abp.Identity:UserAlreadyHasPassword": "O usuário já possui uma senha.", "Volo.Abp.Identity:UserAlreadyInRole": "Usuário já possui o perfil '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json index 2cde7af570..1a4a2c23dc 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Parolele trebuie să conţină cel puţin o majusculă ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Parolele trebuie să aibă cel puţin {0} caractere.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Parolele trebuie să conţină cel puţin {0} caractere diferite.", + "Volo.Abp.Identity:PasswordInHistory": "Parolele nu trebuie să se potrivească cu ultimele {0} parole ale dvs.", "Volo.Abp.Identity:RoleNotFound": "Rolul {0} nu există does not exist.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Utilizatorul şi-a setat deja o parolă.", "Volo.Abp.Identity:UserAlreadyInRole": "Utilizatorul are deja rolul '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json index 8345df27b8..0a1bfee07b 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Пароль должен иметь хотя бы одну букву верхнего регистра.", "Volo.Abp.Identity:PasswordTooShort": "Пароль должен содержать не менее {0} символов.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Пароль должен содержать по крайней мере {0} уникальных символов.", + "Volo.Abp.Identity:PasswordInHistory": "Пароль не должен совпадать с вашими последними {0} паролями.", "Volo.Abp.Identity:RoleNotFound": "Роль {0} не существует.", "Volo.Abp.Identity:UserAlreadyHasPassword": "У пользователя уже установлен пароль.", "Volo.Abp.Identity:UserAlreadyInRole": "Пользователь уже имеет роль '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json index d9fa8dbf61..1fdae99ccc 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Heslá musia obsahovať aspoň jedno veľké písmeno ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Heslá musia mať aspoň {0} znakov.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Heslá nesmú obsahovať viac ako {0} opakujúcich sa znakov.", + "Volo.Abp.Identity:PasswordInHistory": "Heslá sa nesmú zhodovať s vašimi poslednými {0} heslami.", "Volo.Abp.Identity:RoleNotFound": "Rola {0} neexistuje.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Používateľ už má nastavené heslo.", "Volo.Abp.Identity:UserAlreadyInRole": "Používateľ už má rolu '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json index b6d505c1c3..e9cd629333 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Gesla morajo imeti vsaj eno veliko črko ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Gesla morajo biti dolga vsaj {0} znakov.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Gesla ne smejo vsebovati več kot {0} zaporednih enakih znakov.", + "Volo.Abp.Identity:PasswordInHistory": "Gesla se ne smejo ujemati z vašimi zadnjimi {0} gesli.", "Volo.Abp.Identity:RoleNotFound": "Vloga {0} ne obstaja.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Uporabnik že ima nastavljeno geslo.", "Volo.Abp.Identity:UserAlreadyInRole": "Uporabnik že ima dodeljeno vlogo '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json index e664adbbfe..592a0e90e2 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Lösenord måste innehålla minst en versal ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Lösenord måste innehålla minst {0} tecken.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Lösenord måste innehålla minst {0} olika tecken.", + "Volo.Abp.Identity:PasswordInHistory": "Lösenord får inte matcha dina senaste {0} lösenord.", "Volo.Abp.Identity:RoleNotFound": "Roll {0} finns inte.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Användaren har redan ett lösenord inställt.", "Volo.Abp.Identity:UserAlreadyInRole": "Användaren har redan rollen '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json index 72b232de4e..02bfcf5506 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Şifre en az bir büyük harf içermeli ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Şifre en az {0} karakter uzunluğunda olmalı.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Şifre en az {0} farklı karakter içermeli.", + "Volo.Abp.Identity:PasswordInHistory": "Şifre son {0} şifrenizle eşleşmemelidir.", "Volo.Abp.Identity:RoleNotFound": "{0} rolü bulunamadı.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Kullanıcının zaten bir şifresi var.", "Volo.Abp.Identity:UserAlreadyInRole": "Kullanıcı zaten '{0}' rolünde.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json index 39f9940090..3cfa8a8917 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "Mật khẩu phải có ít nhất một chữ hoa ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "Mật khẩu phải ít nhất {0} kí tự.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "Mật khẩu không được chứa {0} ký tự trùng lặp.", + "Volo.Abp.Identity:PasswordInHistory": "Mật khẩu không được trùng với {0} mật khẩu gần đây của bạn.", "Volo.Abp.Identity:RoleNotFound": "Vai trò {0} không tồn tại.", "Volo.Abp.Identity:UserAlreadyHasPassword": "Người dùng đã có một mật khẩu.", "Volo.Abp.Identity:UserAlreadyInRole": "Người dùng đã có vai trò '{0}'.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json index cfbe6bd279..f88dd9ff8d 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "密码至少包含一位大写字母 ('A'-'Z')。", "Volo.Abp.Identity:PasswordTooShort": "密码至少为{0}个字符。", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "密码至少包含{0}个唯一字符。", + "Volo.Abp.Identity:PasswordInHistory": "密码不能与最近{0}次使用的密码相同。", "Volo.Abp.Identity:RoleNotFound": "角色 {0} 不存在。", "Volo.Abp.Identity:UserAlreadyHasPassword": "用户已设置密码。", "Volo.Abp.Identity:UserAlreadyInRole": "用户已具有角色 '{0}'。", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json index b3899de248..68ab8e0d5a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json @@ -57,6 +57,7 @@ "Volo.Abp.Identity:PasswordRequiresUpper": "密碼至少包含一位大寫字母 ('A'-'Z').", "Volo.Abp.Identity:PasswordTooShort": "密碼至少為{0}個字元.", "Volo.Abp.Identity:PasswordRequiresUniqueChars": "密碼至少包含{0}個不同的字元.", + "Volo.Abp.Identity:PasswordInHistory": "密碼不能與最近{0}次使用的密碼相同.", "Volo.Abp.Identity:RoleNotFound": "角色 {0} 不存在.", "Volo.Abp.Identity:UserAlreadyHasPassword": "使用者已設置密碼.", "Volo.Abp.Identity:UserAlreadyInRole": "使用者已具有角色 '{0}'.", From 404881cd39ad257e95b9547b0fb3191e56538ea7 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 8 Oct 2025 11:40:56 +0800 Subject: [PATCH 11/17] Add PasswordHistories relationship to User entity --- .../IdentityDbContextModelBuilderExtensions.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs index 5c0441404a..1b396754a8 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs @@ -46,6 +46,7 @@ public static class IdentityDbContextModelBuilderExtensions b.HasMany(u => u.Roles).WithOne().HasForeignKey(ur => ur.UserId).IsRequired(); b.HasMany(u => u.Tokens).WithOne().HasForeignKey(ur => ur.UserId).IsRequired(); b.HasMany(u => u.OrganizationUnits).WithOne().HasForeignKey(ur => ur.UserId).IsRequired(); + b.HasMany(u => u.PasswordHistories).WithOne().HasForeignKey(ur => ur.UserId).IsRequired(); b.HasIndex(u => u.NormalizedUserName); b.HasIndex(u => u.NormalizedEmail); From 46323e5e339f1f5268fffdc46f8b0619aba8292c Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 8 Oct 2025 13:35:19 +0800 Subject: [PATCH 12/17] Add password reuse prevention localization keys --- .../Volo/Abp/Identity/Localization/en.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json index 41e8b294e9..f2cc74cef0 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Required digit", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Force users to periodically change password", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Password change period(days)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Enabled for new users", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Lockout duration(seconds)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max failed access attempts", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "If passwords must contain a digit.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Whether users are forced to periodically change their password.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "The number of days a user's password is valid for.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Whether a new user can be locked out.", "Description:Abp.Identity.Lockout.LockoutDuration": "The duration a user is locked out for when a lockout occurs.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "The number of failed access attempts allowed before a user is locked out, assuming lock out is enabled.", From 3fdd6371a4b81a71c1209019442d3093245a5b2d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 8 Oct 2025 05:49:25 +0000 Subject: [PATCH 14/17] Add password reuse prevention localization to all Identity module languages Co-authored-by: maliming <6908465+maliming@users.noreply.github.com> --- .../Volo/Abp/Identity/Localization/ar.json | 4 ++++ .../Volo/Abp/Identity/Localization/cs.json | 4 ++++ .../Volo/Abp/Identity/Localization/de.json | 4 ++++ .../Volo/Abp/Identity/Localization/el.json | 6 +++++- .../Volo/Abp/Identity/Localization/en-GB.json | 4 ++++ .../Volo/Abp/Identity/Localization/es.json | 4 ++++ .../Volo/Abp/Identity/Localization/fa.json | 12 +++++++----- .../Volo/Abp/Identity/Localization/fi.json | 4 ++++ .../Volo/Abp/Identity/Localization/fr.json | 6 +++++- .../Volo/Abp/Identity/Localization/hi.json | 6 +++++- .../Volo/Abp/Identity/Localization/hr.json | 4 ++++ .../Volo/Abp/Identity/Localization/hu.json | 4 ++++ .../Volo/Abp/Identity/Localization/is.json | 4 ++++ .../Volo/Abp/Identity/Localization/it.json | 4 ++++ .../Volo/Abp/Identity/Localization/nl.json | 4 ++++ .../Volo/Abp/Identity/Localization/pl-PL.json | 4 ++++ .../Volo/Abp/Identity/Localization/pt-BR.json | 4 ++++ .../Volo/Abp/Identity/Localization/ro-RO.json | 4 ++++ .../Volo/Abp/Identity/Localization/ru.json | 4 ++++ .../Volo/Abp/Identity/Localization/sk.json | 4 ++++ .../Volo/Abp/Identity/Localization/sl.json | 6 +++++- .../Volo/Abp/Identity/Localization/sv.json | 4 ++++ .../Volo/Abp/Identity/Localization/tr.json | 4 ++++ .../Volo/Abp/Identity/Localization/vi.json | 4 ++++ .../Volo/Abp/Identity/Localization/zh-Hans.json | 4 ++++ .../Volo/Abp/Identity/Localization/zh-Hant.json | 4 ++++ 26 files changed, 111 insertions(+), 9 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json index 1014e4db54..49b22071cd 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ar.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "الرقم المطلوب", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "إجبار المستخدمين على تغيير كلمة المرور بشكل دوري", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "تغيير كلمة المرور بشكل دوري", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "تمكين منع إعادة استخدام كلمة المرور", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "عدد مرات منع إعادة استخدام كلمة المرور", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "ممكّن للمستخدمين الجدد", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "مدة التأمين (بالثواني)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "محاولات الوصول الفاشلة", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "إذا كانت كلمات المرور يجب أن تحتوي على رقم.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "إذا كان يجب أن يتغير كلمة المرور بشكل دوري.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "عدد الأيام التي يجب أن تتراوح بين تغيير كلمة المرور.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "ما إذا كان يجب منع المستخدمين من إعادة استخدام كلمات المرور السابقة.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "عدد كلمات المرور السابقة التي لا يمكن إعادة استخدامها.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "ما إذا كان يمكن قفل مستخدم جديد.", "Description:Abp.Identity.Lockout.LockoutDuration": "المدة التي يتم فيها حظر المستخدم عند حدوث قفل.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "عدد محاولات الوصول الفاشلة المسموح بها قبل قفل المستخدم ، بافتراض تمكين التأمين.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json index a26d3e43f0..8f0456c601 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/cs.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Požadováno číslo", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Vynutit uživatelům pravidelnou změnu hesla", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Délka platnosti hesla (dny)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Povolit zabránění opětovnému použití hesla", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Počet zabránění opětovnému použití hesla", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Povoleno pro nové uživatele", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Délka blokování (sekundy)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Maximální počet neúspěšných pokusů o přístup", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Pokud hesla musí obsahovat číslici.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Zda musí uživatelé pravidelně měnit heslo.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Počet dní, po které je heslo uživatele platné.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Zda zabránit uživatelům v opětovném použití jejich předchozích hesel.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Počet předchozích hesel, která nelze znovu použít.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Zda může být uzamčen nový uživatel.", "Description:Abp.Identity.Lockout.LockoutDuration": "Doba, po kterou je uživatel zablokován, když dojde k zablokování.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Počet neúspěšných pokusů o přístup než je uživatel uzamčen, za předpokladu, že je uzamčení povoleno.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json index b22f985e19..19daf4d440 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Erforderliche Ziffer", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Benutzer müssen das Passwort regelmäßig ändern", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Passwortänderungszeitraum (Tage)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Wiederverwendung von Passwörtern verhindern aktivieren", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Anzahl der zu verhindernden Passwortwiederverwendungen", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Für neue Benutzer aktiviert", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Sperrdauer (Sekunden)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max. Fehlgeschlagene Zugriffsversuche", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Wenn Passwörter eine Ziffer enthalten müssen.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Gibt an, ob Benutzer das Passwort regelmäßig ändern müssen.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Die Anzahl der Tage, nach denen ein Benutzer das Passwort ändern muss.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Ob verhindert werden soll, dass Benutzer ihre vorherigen Passwörter wiederverwenden.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Die Anzahl der vorherigen Passwörter, die nicht wiederverwendet werden können.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Gibt an, ob ein neuer Benutzer gesperrt werden kann.", "Description:Abp.Identity.Lockout.LockoutDuration": "Die Dauer, für die ein Benutzer gesperrt ist, wenn eine Sperre auftritt.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Die Anzahl der fehlgeschlagenen Zugriffsversuche, die zulässig sind, bevor ein Benutzer gesperrt wird, sofern die Sperre aktiviert ist.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json index 2b1712a7eb..53074b738d 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json @@ -41,7 +41,7 @@ "Volo.Abp.Identity:ConcurrencyFailure": "Ο έλεγχος συγχρονισμού απέτυχε. Η οντότητα στην οποία εργάζεστε έχει τροποποιηθεί από άλλο χρήστη. Απορρίψτε τις αλλαγές σας και δοκιμάστε ξανά.", "Volo.Abp.Identity:DuplicateEmail": "Το email '{0}' υπάρχει ήδη.", "Volo.Abp.Identity:DuplicateRoleName": "Το όνομα ρόλου '{0}' υπάρχει ήδη.", - "Volo.Abp.Identity:DuplicateUserName":"Το Όνομα χρήστη'{0}'υπάρχει ήδη.", + "Volo.Abp.Identity:DuplicateUserName": "Το Όνομα χρήστη'{0}'υπάρχει ήδη.", "Volo.Abp.Identity:InvalidEmail": "Το email '{0}' δεν είναι έγκυρο.", "Volo.Abp.Identity:InvalidPasswordHasherCompatibilityMode": "Η παρεχόμενη λειτουργία PasswordHasherCompatibilityMode δεν είναι έγκυρη.", "Volo.Abp.Identity:InvalidPasswordHasherIterationCount": "Το πλήθος των επαναλήψεων πρέπει να είναι θετικός ακέραιος.", @@ -98,6 +98,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Απαιτούμενο ψηφίο", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Επιβάλλεται η αλλαγή του κωδικού πρόσβασης", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Διάρκεια κωδικού πρόσβασης (ημέρες)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Ενεργοποιήθηκε για νέους χρήστες", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Διάρκεια κλειδώματος (δευτερόλεπτα)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Μέγιστες αποτυχημένες προσπάθειες πρόσβασης", @@ -114,6 +116,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Εάν οι κωδικοί πρόσβασης πρέπει να περιέχουν ένα ψηφίο.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Εάν οι χρήστες πρέπει να αλλάζουν τον κωδικό πρόσβασης τους με συχνότητα που ορίζεται από το PasswordChangePeriodDays.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Η διάρκεια της περιόδου σε ημέρες μετά την οποία οι χρήστες πρέπει να αλλάζουν τον κωδικό πρόσβασης τους.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Εάν ένας νέος χρήστης μπορεί να κλειδωθεί.", "Description:Abp.Identity.Lockout.LockoutDuration": "Η διάρκεια για την οποία ένας χρήστης είναι κλειδωμένος όταν εμφανίζεται ένα κλείδωμα.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Ο αριθμός των αποτυχημένων προσπαθειών πρόσβασης που επιτρέπονται πριν από το κλείδωμα ενός χρήστη, με την προϋπόθεση ότι το κλείδωμα είναι ενεργοποιημένο.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json index e7355ce60b..45f25bc864 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en-GB.json @@ -103,6 +103,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Required digit", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Force users to periodically change password", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Password change period(days)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Enabled for new users", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Lockout duration(in seconds)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max failed access attempts", @@ -119,6 +121,8 @@ "Description:Abp.Identity.Password.RequireDigit": "If passwords must contain a digit.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Whether users are required to periodically change their password.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "The number of days a user's password is valid for.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Whether a new user can be locked out.", "Description:Abp.Identity.Lockout.LockoutDuration": "The duration a user is locked out for when a lockout occurs.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "The number of failed access attempts allowed before a user is locked out, assuming lock out is enabled.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json index 93096ba67f..ff4d4302f8 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Dígito requerido", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Forzar a los usuarios a cambiar su contraseña periódicamente", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Período de cambio de contraseña (días)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Habilitar prevención de reutilización de contraseña", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Número de reutilizaciones de contraseña a prevenir", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Habilitado para nuevos usuarios", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Duración del bloqueo (segundos)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Número máximo de accesos fallidos", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Si las contraseñas deben contener un dígito", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Si los usuarios deben cambiar su contraseña periódicamente.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "El número de días que un usuario debe esperar antes de cambiar su contraseña.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Si se debe evitar que los usuarios reutilicen sus contraseñas anteriores.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "El número de contraseñas anteriores que no se pueden reutilizar.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Si un nuevo usuario puede ser bloqueado.", "Description:Abp.Identity.Lockout.LockoutDuration": "La duración del bloqueo de un usuario cuando el bloqueo ocurre.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "El número de accessos fallidos permitidos antes de que un usuario sea bloqueado, el bloqueo de usuario debe estar habilitado.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json index af7e97f54c..480c57b332 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json @@ -5,7 +5,7 @@ "Users": "کاربران", "NewUser": "کاربر جدید", "UserName": "نام کاربر", - "Surname":"نام خانوادگی", + "Surname": "نام خانوادگی", "EmailAddress": "آدرس ایمیل", "PhoneNumber": "شماره تلفن", "UserInformations": "اطلاعات کاربر", @@ -99,11 +99,13 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "رقم مورد نیاز است", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "اجبار کاربران به تغییر گذرواژه", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "مدت زمان تغییر گذرواژه (روز)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "برای کاربران جدید فعال گردیده است", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "مدت زمان قفل شدن (ثانیه)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "حداکثر تلاشهای ناموفق برای دسترسی", "DisplayName:Abp.Identity.SignIn.RequireConfittedEmail": "ایمیل معتبر مورد نیاز می باشد", - "DisplayName:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "فعال کردن تایید حساب با شماره تلفن", + "DisplayName:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "به کاربران اجازه تایید شماره تلفن خود را بدهید", "DisplayName:Abp.Identity.SignIn.RequireConfippedPhoneNumber": "شماره تلفن معتبر مورد نیاز میباشد", "DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled": "آیا امکان بروزرسانی نام کاربری فعال میباشد", "DisplayName:Abp.Identity.User.IsEmailUpdateEnabled": "آیا امکان بروزرسانی آدرس ایمیل فعال میباشد", @@ -115,11 +117,13 @@ "Description:Abp.Identity.Password.RequireDigit": "گذرواژه ها باید دارای عدد باشند.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "اجبار کاربران به تغییر گذرواژه بعد از یک مدت زمان مشخص.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "مدت زمانی که کاربر باید بعد از آن گذرواژه خود را تغییر دهد.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "آیا کاربر جدید را می توان قفل کرد.", "Description:Abp.Identity.Lockout.LockoutDuration": "مدت زمانی که کاربر هنگام قفل شدن، در حالت قفل باقی می ماند.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "تعداد تلاشهای دسترسی ناموفق قبل از قفل شدن کاربر، با فرض فعال بودن امکان قفل کردن.", "Description:Abp.Identity.SignIn.RequireConfirmEmail": "آیا برای ورود به سیستم آدرس ایمیل تأیید شده لازم است یا خیر.", - "Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "آیا شماره تلفن توسط کاربر قابل تایید باشد یا خیر.", + "Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "کاربران می‌توانند شماره تلفن خود را تایید کنند. نیاز به یکپارچه‌سازی پیامک دارد.", "Description:Abp.Identity.SignIn.RequireConfippedPhoneNumber": "آیا برای ورود به سیستم شماره تلفن تأیید شده لازم است یا خیر", "Description:Abp.Identity.User.IsUserNameUpdateEnabled": "آیا کاربر می تواند نام کاربری را به روز کند یا خیر.", "Description:Abp.Identity.User.IsEmailUpdateEnabled": "آیا کاربر می تواند آدرس ایمیل خود را به روز کند با خیر.", @@ -131,10 +135,8 @@ "LockoutEndTime": "زمان اتمام قفل", "FailedAccessCount": "تعداد دسترسی ناموفق", "DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail": "اجباری کردن تایید ایمیل برای ورود", - "DisplayName:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "به کاربران اجازه تایید شماره تلفن خود را بدهید", "DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "اجباری کردن تایید شماره تلفن برای ورود", "Description:Abp.Identity.SignIn.RequireConfirmedEmail": "کاربران می‌توانند حساب ایجاد کنند اما تا زمانی که آدرس ایمیل خود را تایید نکنند نمی‌توانند وارد شوند.", - "Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "کاربران می‌توانند شماره تلفن خود را تایید کنند. نیاز به یکپارچه‌سازی پیامک دارد.", "Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "کاربران می‌توانند حساب ایجاد کنند اما تا زمانی که شماره تلفن خود را تایید نکنند نمی‌توانند وارد شوند.", "DisplayName:Abp.Identity.SignIn.RequireEmailVerificationToRegister": "اجباری کردن تایید ایمیل برای ثبت‌نام", "Description:Abp.Identity.SignIn.RequireEmailVerificationToRegister": "حساب‌های کاربری ایجاد نخواهند شد مگر اینکه آدرس ایمیل خود را تایید کنند." diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json index 50364c2621..7beac0909a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Vaadittu numero", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Pakota käyttäjät vaihtamaan salasanaa säännöllisesti", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Salasanan vaihtamisen aikaväli (päivää)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Käytössä uusille käyttäjille", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Lukituksen kesto (sekuntia)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max epäonnistui pääsyyrityksiä", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Jos salasanojen on sisällettävä numero.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Pakottaa käyttäjät vaihtamaan salasanaa säännöllisesti.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Salasanan vaihtamisen aikaväli (päivää).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Voiko uusi käyttäjä lukita.", "Description:Abp.Identity.Lockout.LockoutDuration": "Kesto, jonka käyttäjä lukitaan, kun lukitus tapahtuu.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Ennen käyttäjän lukitsemista sallittujen epäonnistuneiden pääsyyritysten lukumäärä, olettaen, että lukitus on käytössä.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json index 8bbf78e540..61bc1dea98 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fr.json @@ -77,7 +77,7 @@ "Volo.Abp.Identity:010007": "Vous ne pouvez pas modifier votre paramètre à deux facteurs.", "Volo.Abp.Identity:010008": "Il n’est pas permis de changer deux facteurs de réglage.", "Volo.Abp.Identity:010009": "Vous ne pouvez pas vous déléguer vous-même.", - "Volo.Abp.Identity:010021" : "Le nom '{0}' existe déjà.", + "Volo.Abp.Identity:010021": "Le nom '{0}' existe déjà.", "Volo.Abp.Identity:010022": "Vous ne pouvez pas modifier un type de revendication statique.", "Volo.Abp.Identity:010023": "Vous ne pouvez pas supprimer un type de revendication statique.", "Identity.OrganizationUnit.MaxUserMembershipCount": "Nombre maximal d’adhésions autorisées à l’unité d’organisation pour un utilisateur", @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Chiffre requis", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Forcer les utilisateurs à changer leur mot de passe périodiquement", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Période de changement de mot de passe (jours)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Activer la prévention de la réutilisation du mot de passe", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Nombre de réutilisations de mot de passe à empêcher", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Activé pour les nouveaux utilisateurs", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Durée(secondes) du lock-out", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max a échoué tentatives d’accès", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Si les mots de passe doivent contenir un chiffre.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Si les utilisateurs doivent changer leur mot de passe périodiquement.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Période de changement de mot de passe (jours).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "S'il faut empêcher les utilisateurs de réutiliser leurs mots de passe précédents.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Le nombre de mots de passe précédents qui ne peuvent pas être réutilisés.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Si un nouvel utilisateur peut être verrouillé.", "Description:Abp.Identity.Lockout.LockoutDuration": "Durée pendant laquelle un utilisateur est verrouillé lorsqu’un lock-out se produit.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Nombre de tentatives d’accès échouées avant qu’un utilisateur ne soit verrouillé, en supposant que le verrouillage est activé.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json index 9eef75a959..9f3017ab87 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json @@ -77,7 +77,7 @@ "Volo.Abp.Identity:010007": "आप अपनी दो कारक सेटिंग नहीं बदल सकते।", "Volo.Abp.Identity:010008": "इसे दो कारक सेटिंग बदलने की अनुमति नहीं है।", "Volo.Abp.Identity:010009": "आप अपने आप को अधिकृत नहीं कर सकते हैं!", - "Volo.Abp.Identity:010021" : "नाम '{0}' पहले से ही लिया गया है।", + "Volo.Abp.Identity:010021": "नाम '{0}' पहले से ही लिया गया है।", "Volo.Abp.Identity:010022": "स्थैतिक भूमिकाओं का नाम नहीं बदला जा सकता है।", "Volo.Abp.Identity:010023": "स्थैतिक भूमिकाओं को हटाया नहीं जा सकता।", "Identity.OrganizationUnit.MaxUserMembershipCount": "उपयोगकर्ता के लिए अधिकतम अनुमत संगठन इकाई सदस्यता गणना", @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "आवश्यक अंक", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "उपयोगकर्ताओं को अपने पासवर्ड को अक्षम करने के लिए बाधित करने की आवश्यकता है", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "पासवर्ड बदलने की अवधि (दिन)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "नए उपयोगकर्ताओं के लिए सक्षम है", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "तालाबंदी अवधि (सेकंड)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "अधिकतम पहुँच प्रयास विफल", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "यदि पासवर्ड में एक अंक होना चाहिए।", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "यदि उपयोगकर्ताओं को अपने पासवर्ड को अक्षम करने के लिए बाधित करने की आवश्यकता है।", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "उपयोगकर्ता के पासवर्ड को बदलने की अनुमति देने के लिए अवधि (दिन)।", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "क्या कोई नया उपयोगकर्ता लॉक किया जा सकता है।", "Description:Abp.Identity.Lockout.LockoutDuration": "जब लॉकआउट होता है, तो उपयोगकर्ता की अवधि लॉक हो जाती है।", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "उपयोगकर्ता द्वारा लॉक किए जाने से पहले अनुमति प्राप्त विफल प्रयासों की संख्या, यह मानकर कि लॉक आउट सक्षम है।", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json index 16589c5b29..836b9d47a6 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Obavezna znamenka", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Prisilite korisnike da periodično mijenjaju lozinku", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Period promjene lozinke (dana)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Omogućeno za nove korisnike", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Trajanje zaključavanja (sekunde)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Maksimalan broj neuspjelih pokušaja pristupa", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ako lozinke moraju sadržavati znamenku.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Ako se korisnici moraju periodično mijenjati lozinku.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Period u danima nakon kojeg se korisnici moraju promijeniti lozinku.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Može li se novi korisnik zaključati.", "Description:Abp.Identity.Lockout.LockoutDuration": "Trajanje koliko je korisnik zaključan kada dođe do zaključavanja.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Broj dopuštenih neuspjelih pokušaja pristupa prije nego što se korisnik zaključa, pod pretpostavkom da je zaključavanje omogućeno.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json index 9104a3b35b..da5df479d0 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Szükséges számjegy", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "A felhasználók szükségesnek tartják a jelszavukat rendszeresen megváltoztatni", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Jelszóváltoztatási időszak napokban", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Engedélyezve az új felhasználók számára", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "A zárolás időtartama (másodpercben)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max sikertelen hozzáférési kísérlet", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ha a jelszavaknak tartalmazniuk kell egy számjegyet.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Ha a felhasználók szükségesnek tartják a jelszavukat rendszeresen megváltoztatni.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "A jelszóváltoztatási időszak napokban.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Egy új felhasználó zárolható-e.", "Description:Abp.Identity.Lockout.LockoutDuration": "Az az időtartam, amelyre a felhasználó zárolva van, amikor zárolás történik.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "A felhasználó zárolása előtt megengedett sikertelen hozzáférési kísérletek száma, feltéve, hogy a zárolás engedélyezve van.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json index f0a579334d..cb9bf6506f 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Nauðsynlegt að hafa tölustaf", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Þvinga notendur til að breyta lykilorði á ákveðnum tímabilum", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Tímabil á milli lykilorðabreytinga (dagar)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Virkt fyrir nýja notendur", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Lengd lokunar (sekúndur)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Hámarks misheppnaðra aðgangsstilrauna", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ef lykilorð verða að innihalda tölustaf.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Hvort notendur verði að breyta lykilorði á ákveðnum tímabilum.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Tímabil á milli lykilorðabreytinga (dagar).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Hvort hægt sé að læsa nýjum notanda.", "Description:Abp.Identity.Lockout.LockoutDuration": "Tímalengd þess að notandi er læstur úti þegar lokun á sér stað.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Fjöldi misheppnaðra aðgangstilrauna sem leyfður er áður en notandi er læstur út, að því gefnu að útilokun sé virk.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json index cc415f7bb4..1d1d9771fd 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/it.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Cifra richiesta", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Forza gli utenti a cambiare la password periodicamente", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Periodo di cambio password (giorni)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Abilita prevenzione riutilizzo password", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Numero di riutilizzi password da prevenire", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Abilitato per i nuovi utenti", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Durata blocco (secondi)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Numero massimo di tentativi di accesso non riusciti", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Se la password devono contenere una cifra.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Se gli utenti devono cambiare la password periodicamente.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Il numero di giorni dopo i quali gli utenti devono cambiare la password.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Se impedire agli utenti di riutilizzare le password precedenti.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Il numero di password precedenti che non possono essere riutilizzate.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Se un nuovo utente può essere bloccato.", "Description:Abp.Identity.Lockout.LockoutDuration": "La durata per cui un utente viene bloccato quando si verifica un blocco.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Il numero di tentativi di accesso non riusciti consentiti prima che un utente venga bloccato, a condizione che il blocco sia abilitato.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json index 40d22afc94..2b405697ae 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Vereist cijfer", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Forceer gebruikers om periodiek hun wachtwoord te wijzigen", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Wachtwoord wijzigen periode (dagen)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Voorkoming van wachtwoordhergebruik inschakelen", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Aantal te voorkomen wachtwoordhergebruiken", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Ingeschakeld voor nieuwe gebruikers", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Blokkeringsduur (seconden)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max mislukte toegangspogingen", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Als wachtwoorden een cijfer moeten bevatten.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Of gebruikers verplicht zijn om hun wachtwoord periodiek te wijzigen.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Het aantal dagen dat een gebruiker zijn wachtwoord moet wijzigen nadat het is ingesteld.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Of gebruikers moeten worden verhinderd om hun eerdere wachtwoorden opnieuw te gebruiken.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Het aantal eerdere wachtwoorden dat niet opnieuw kan worden gebruikt.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Of een nieuwe gebruiker kan worden geblokkeerd.", "Description:Abp.Identity.Lockout.LockoutDuration": "De duur dat een gebruiker wordt geblokkeerd wanneer een blokkering optreedt.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Het aantal mislukte toegangspogingen dat is toegestaan voordat een gebruiker wordt geblokkeerd, ervan uitgaande dat blokkering is ingeschakeld.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json index b5b30b6696..c3c8053556 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pl-PL.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Wymagana cyfra", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Wymuś użytkownikom okresowe zmiany hasła", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Okres zmiany hasła (dni)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Włącz zapobieganie ponownemu użyciu hasła", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Liczba zapobiegania ponownemu użyciu hasła", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Włączone dla nowych użytkowników", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Czas trwania blokady (sekundy)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Maksymalna liczba nieudanych prób dostępu", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Jeśli hasła muszą zawierać cyfrę.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Czy użytkownicy muszą okresowo zmieniać hasło.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Okres zmiany hasła (dni).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Czy zapobiegać użytkownikom ponownego użycia ich poprzednich haseł.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Liczba poprzednich haseł, których nie można użyć ponownie.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Czy można zablokować nowego użytkownika.", "Description:Abp.Identity.Lockout.LockoutDuration": "Czas, na jaki użytkownik jest zablokowany, gdy nastąpi blokada.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Liczba nieudanych prób dostępu dopuszczonych przed zablokowaniem użytkownika, przy założeniu, że blokada jest włączona.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json index 1c15495ad4..40ef80556f 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Dígito requerido", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Forçar usuários a alterar a senha periodicamente", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Período de alteração de senha (dias)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Habilitar prevenção de reutilização de senha", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Número de reutilizações de senha a prevenir", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Habilitado para novos usuários", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Duração do bloqueio (segundos)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Máximo de tentativas de acesso malsucedidas", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Se as senhas devem conter um dígito.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Se os usuários devem alterar sua senha periodicamente.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "O período de dias que um usuário deve esperar antes de alterar sua senha novamente.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Se deve impedir que os usuários reutilizem suas senhas anteriores.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "O número de senhas anteriores que não podem ser reutilizadas.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Se um novo usuário pode ser bloqueado.", "Description:Abp.Identity.Lockout.LockoutDuration": "A duração que um usuário fica bloqueado quando ocorre um bloqueio.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "O número de tentativas de acesso malsucedidas permitidas antes que um usuário seja bloqueado, assumindo que o bloqueio esteja habilitado.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json index 1a4a2c23dc..3419a97fd3 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Numărul de cifre", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Forţează utilizatorii să schimbe parola periodic", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Perioada de schimbare a parolei (zile)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Activat pentru noi utilizatori", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Durata blocării (secunde)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Numărul maxim de încercări de acces eşuate", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Dacă parolele trebuie să conţină o cifră.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Dacă utilizatorii trebuie să schimbe parola periodic.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Perioada de schimbare a parolei (zile).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Dacă un utilizator nou poate fi blocat.", "Description:Abp.Identity.Lockout.LockoutDuration": "Durata blocării unui utilizator când intervine blocarea.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Numărul de accesări eşuate permise înainte de a bloca un utilizator, presupunând că blocarea este activată.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json index 0a1bfee07b..6afaf14b1a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ru.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Требуемая цифра", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Требовать периодическое изменение пароля", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Периодичность изменения пароля (дни)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Включить предотвращение повторного использования пароля", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Количество предотвращений повторного использования пароля", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Включено для новых пользователей", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Длительность блокировки (секунды)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Максимальное количество неудачных попыток доступа", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Если пароли должны содержать цифру.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Если пользователи должны периодически изменять пароль.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Периодичность изменения пароля (дни).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Следует ли запретить пользователям повторно использовать свои предыдущие пароли.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Количество предыдущих паролей, которые не могут быть использованы повторно.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Может ли новый пользователь быть заблокирован.", "Description:Abp.Identity.Lockout.LockoutDuration": "Длительность блокировки пользователя.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Число неудачных попыток доступа, после которых пользователь будет заблокирован.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json index 1fdae99ccc..e5dc1dca97 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Požadovaná číslica", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Vynútiť používateľom pravidelne meniť heslo", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Doba platnosti hesla (v dňoch)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Povolené pre nových používateľov", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Trvanie uzamknutia (v sekundách)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Maximálny počet neúspešných pokusov o prístup", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Či heslá musia obsahovať číslicu.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Či sa používateľom musí pravidelne meniť heslo.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Doba platnosti hesla (v dňoch).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Či môže byť nový používateľ uzamknutý.", "Description:Abp.Identity.Lockout.LockoutDuration": "Doba, počas ktorej je používateľ uzamknutý, keď dôjde k uzamknutiu.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Počet neúspešných pokusov o prístup pred tým, ako bol používateľ uzamknutý za predpokladu, že je uzamknutie povolené.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json index e9cd629333..8d744bfff9 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json @@ -77,7 +77,7 @@ "Volo.Abp.Identity:010007": "Nastavitve dveh faktorjev ne morete spremeniti.", "Volo.Abp.Identity:010008": "Ni dovoljeno spreminjati nastavitve dveh faktorjev.", "Volo.Abp.Identity:010009": "Ne morete delegirati svojih pravic.", - "Volo.Abp.Identity:010021" : "Naziv '{0}' že obstaja.", + "Volo.Abp.Identity:010021": "Naziv '{0}' že obstaja.", "Volo.Abp.Identity:010022": "Ne morete spremeniti tipa statične deklaracije.", "Volo.Abp.Identity:010023": "Ne morete izbrisati tipa statične deklaracije.", "Identity.OrganizationUnit.MaxUserMembershipCount": "Največje dovoljeno število članov v organizacijski enoti za uporabnika", @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Zahtevana številka", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Vsakih X dni zahtevaj spremembo gesla", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Število dni, ki jih uporabnik lahko uporablja isto geslo", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Omogočeno za nove uporabnike", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Trajanje zaklepa(sekund)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Največje število neuspešnih poskusov dostopa", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ali morajo gesla vsebovati številko.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Ali morajo uporabniki spremeniti geslo vsakih X dni.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Število dni, ki jih uporabnik lahko uporablja isto geslo.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Ali se nov uporabnik lahko zaklene.", "Description:Abp.Identity.Lockout.LockoutDuration": "Trajanje zaklepa uporabnika, ko pride do zaklepa.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Število neuspelih poskusov dostopa ki so dovoljeni, preden se uporabnik zaklene, ob predpostavki, da je zaklepanje omogočeno.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json index 592a0e90e2..c395ff160c 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Nödvändig siffra", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Tvinga användare att regelbundet byta lösenord", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Period för byte av lösenord (dagar)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Aktiverad för nya användare", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Varaktighet för låsning (sekunder)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max misslyckade åtkomstförsök", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Om lösenorden måste innehålla en siffra.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Om användare tvingas byta lösenord med jämna mellanrum.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Antal dagar som en användares lösenord är giltigt.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Om en ny användare kan låsas ute.", "Description:Abp.Identity.Lockout.LockoutDuration": "Den tid som en användare är utelåst när en utelåsning inträffar.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Det antal misslyckade åtkomstförsök som tillåts innan en användare låses ut, förutsatt att låsning är aktiverad.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json index 02bfcf5506..2da62b0355 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Rakam gerekli", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Kullanıcıların periyodik olarak şifrelerini değiştirmelerini zorla", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Şifre değiştirme periyodu (gün)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Şifre yeniden kullanımını engellemeyi etkinleştir", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Şifre yeniden kullanımını engelleme sayısı", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Yeni kullanıcılar için aktif", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Kilitli kalma süresi (saniye)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Maksimum başarısız giriş denemesi", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Parolaların bir rakam içermesi gerekiyorsa.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Kullanıcıların periyodik olarak şifrelerini değiştirmelerini zorla.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Kullanıcıların şifrelerini değiştirmeleri gereken gün sayısı.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Kullanıcıların önceki şifrelerini yeniden kullanmalarını engelleyip engellemeyeceği.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Yeniden kullanılamayacak önceki şifrelerin sayısı.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Yeni kullanıcılar kilitlenebilir.", "Description:Abp.Identity.Lockout.LockoutDuration": "Kilitlenme olduğunda, ne kadar kilitli kalacağı.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Kilitleme etkin olduğunda, kullanıcıya kilitlenmeden önce izin verilen başarısız giriş sayısı.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json index 3cfa8a8917..b0d5f7962c 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Chữ số bắt buộc", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Buộc người dùng thay đổi mật khẩu định kỳ", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Thời gian thay đổi mật khẩu (ngày)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Đã bật cho người dùng mới", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Thời gian khóa (giây)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Số lần truy cập không thành công tối đa", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Nếu mật khẩu phải chứa một chữ số.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Nếu người dùng phải thay đổi mật khẩu của họ định kỳ.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Số ngày mà người dùng phải thay đổi mật khẩu của họ.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Người dùng mới có thể bị khóa hay không.", "Description:Abp.Identity.Lockout.LockoutDuration": "Khoảng thời gian người dùng bị khóa khi xảy ra quá trình khóa.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Số lần truy cập không thành công được phép trước khi người dùng bị khóa, giả sử tính năng khóa được bật.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json index f88dd9ff8d..0cfc117cf6 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "要求数字", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "强制用户定期更改密码", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "密码更改周期(天)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "启用防止密码重用", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "防止密码重用数量", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "允许新用户", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "锁定时间(秒)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "最大失败访问尝试次数", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "密码是否必须包含数字。", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "是否强制用户定期更改密码。", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "用户必须更改密码的周期(天)。", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "是否防止用户重用以前的密码。", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "不能重用的以前密码的数量。", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "允许新用户被锁定。", "Description:Abp.Identity.Lockout.LockoutDuration": "当锁定发生时用户被的锁定的时间(秒)。", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "如果启用锁定, 当用户被锁定前失败的访问尝试次数。", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json index 68ab8e0d5a..39f6fe5267 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json @@ -99,6 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "需要數字", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "強制使用者定期更改密碼", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "密碼更改週期(天)", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "啟用防止密碼重用", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "防止密碼重用數量", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "允許新的使用者", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "被鎖定期間(秒)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "最大登入次數嘗試", @@ -115,6 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "密碼必須包含數字.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "強制使用者定期更改密碼.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "密碼更改週期(天).", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "是否防止使用者重用以前的密碼。", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "不能重用的以前密碼的數量。", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "使用者是否會被鎖定.", "Description:Abp.Identity.Lockout.LockoutDuration": "使用者被鎖定後的時間.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "當啟用鎖定功能,設定最大嘗試輸入次數,超過後就被鎖定.", From 8209420dcca3fca52a31fe908a25f343ad2e39e3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 8 Oct 2025 06:02:19 +0000 Subject: [PATCH 15/17] Fix translations: Replace English text with proper localized translations for 12 languages Co-authored-by: maliming <6908465+maliming@users.noreply.github.com> --- .../Volo/Abp/Identity/Localization/el.json | 8 ++++---- .../Volo/Abp/Identity/Localization/fa.json | 8 ++++---- .../Volo/Abp/Identity/Localization/fi.json | 8 ++++---- .../Volo/Abp/Identity/Localization/hi.json | 8 ++++---- .../Volo/Abp/Identity/Localization/hr.json | 8 ++++---- .../Volo/Abp/Identity/Localization/hu.json | 8 ++++---- .../Volo/Abp/Identity/Localization/is.json | 8 ++++---- .../Volo/Abp/Identity/Localization/ro-RO.json | 8 ++++---- .../Volo/Abp/Identity/Localization/sk.json | 8 ++++---- .../Volo/Abp/Identity/Localization/sl.json | 8 ++++---- .../Volo/Abp/Identity/Localization/sv.json | 8 ++++---- .../Volo/Abp/Identity/Localization/vi.json | 8 ++++---- 12 files changed, 48 insertions(+), 48 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json index 53074b738d..1e2c8a23ce 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json @@ -98,8 +98,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Απαιτούμενο ψηφίο", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Επιβάλλεται η αλλαγή του κωδικού πρόσβασης", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Διάρκεια κωδικού πρόσβασης (ημέρες)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Ενεργοποίηση αποτροπής επαναχρησιμοποίησης κωδικού πρόσβασης", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Αριθμός αποτροπής επαναχρησιμοποίησης κωδικού πρόσβασης", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Ενεργοποιήθηκε για νέους χρήστες", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Διάρκεια κλειδώματος (δευτερόλεπτα)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Μέγιστες αποτυχημένες προσπάθειες πρόσβασης", @@ -116,8 +116,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Εάν οι κωδικοί πρόσβασης πρέπει να περιέχουν ένα ψηφίο.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Εάν οι χρήστες πρέπει να αλλάζουν τον κωδικό πρόσβασης τους με συχνότητα που ορίζεται από το PasswordChangePeriodDays.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Η διάρκεια της περιόδου σε ημέρες μετά την οποία οι χρήστες πρέπει να αλλάζουν τον κωδικό πρόσβασης τους.", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Εάν πρέπει να αποτραπεί η επαναχρησιμοποίηση προηγούμενων κωδικών πρόσβασης από τους χρήστες.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Ο αριθμός των προηγούμενων κωδικών πρόσβασης που δεν μπορούν να επαναχρησιμοποιηθούν.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Εάν ένας νέος χρήστης μπορεί να κλειδωθεί.", "Description:Abp.Identity.Lockout.LockoutDuration": "Η διάρκεια για την οποία ένας χρήστης είναι κλειδωμένος όταν εμφανίζεται ένα κλείδωμα.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Ο αριθμός των αποτυχημένων προσπαθειών πρόσβασης που επιτρέπονται πριν από το κλείδωμα ενός χρήστη, με την προϋπόθεση ότι το κλείδωμα είναι ενεργοποιημένο.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json index 480c57b332..024b443fec 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fa.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "رقم مورد نیاز است", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "اجبار کاربران به تغییر گذرواژه", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "مدت زمان تغییر گذرواژه (روز)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "فعال کردن جلوگیری از استفاده مجدد از گذرواژه", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "تعداد جلوگیری از استفاده مجدد از گذرواژه", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "برای کاربران جدید فعال گردیده است", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "مدت زمان قفل شدن (ثانیه)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "حداکثر تلاشهای ناموفق برای دسترسی", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "گذرواژه ها باید دارای عدد باشند.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "اجبار کاربران به تغییر گذرواژه بعد از یک مدت زمان مشخص.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "مدت زمانی که کاربر باید بعد از آن گذرواژه خود را تغییر دهد.", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "آیا از استفاده مجدد گذرواژه‌های قبلی توسط کاربران جلوگیری شود.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "تعداد گذرواژه‌های قبلی که نمی‌توان دوباره استفاده کرد.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "آیا کاربر جدید را می توان قفل کرد.", "Description:Abp.Identity.Lockout.LockoutDuration": "مدت زمانی که کاربر هنگام قفل شدن، در حالت قفل باقی می ماند.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "تعداد تلاشهای دسترسی ناموفق قبل از قفل شدن کاربر، با فرض فعال بودن امکان قفل کردن.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json index 7beac0909a..71cfe15712 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/fi.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Vaadittu numero", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Pakota käyttäjät vaihtamaan salasanaa säännöllisesti", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Salasanan vaihtamisen aikaväli (päivää)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Ota käyttöön salasanan uudelleenkäytön esto", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Salasanan uudelleenkäytön eston määrä", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Käytössä uusille käyttäjille", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Lukituksen kesto (sekuntia)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max epäonnistui pääsyyrityksiä", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Jos salasanojen on sisällettävä numero.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Pakottaa käyttäjät vaihtamaan salasanaa säännöllisesti.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Salasanan vaihtamisen aikaväli (päivää).", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Estetäänkö käyttäjiä käyttämästä aiempia salasanojaan uudelleen.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Aiempien salasanojen määrä, joita ei voi käyttää uudelleen.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Voiko uusi käyttäjä lukita.", "Description:Abp.Identity.Lockout.LockoutDuration": "Kesto, jonka käyttäjä lukitaan, kun lukitus tapahtuu.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Ennen käyttäjän lukitsemista sallittujen epäonnistuneiden pääsyyritysten lukumäärä, olettaen, että lukitus on käytössä.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json index 9f3017ab87..464426cf34 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hi.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "आवश्यक अंक", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "उपयोगकर्ताओं को अपने पासवर्ड को अक्षम करने के लिए बाधित करने की आवश्यकता है", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "पासवर्ड बदलने की अवधि (दिन)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "पासवर्ड पुनः उपयोग रोकथाम सक्षम करें", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "पासवर्ड पुनः उपयोग रोकथाम गणना", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "नए उपयोगकर्ताओं के लिए सक्षम है", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "तालाबंदी अवधि (सेकंड)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "अधिकतम पहुँच प्रयास विफल", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "यदि पासवर्ड में एक अंक होना चाहिए।", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "यदि उपयोगकर्ताओं को अपने पासवर्ड को अक्षम करने के लिए बाधित करने की आवश्यकता है।", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "उपयोगकर्ता के पासवर्ड को बदलने की अनुमति देने के लिए अवधि (दिन)।", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "क्या उपयोगकर्ताओं को उनके पिछले पासवर्ड का पुनः उपयोग करने से रोकना है।", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "पिछले पासवर्ड की संख्या जिन्हें पुनः उपयोग नहीं किया जा सकता।", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "क्या कोई नया उपयोगकर्ता लॉक किया जा सकता है।", "Description:Abp.Identity.Lockout.LockoutDuration": "जब लॉकआउट होता है, तो उपयोगकर्ता की अवधि लॉक हो जाती है।", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "उपयोगकर्ता द्वारा लॉक किए जाने से पहले अनुमति प्राप्त विफल प्रयासों की संख्या, यह मानकर कि लॉक आउट सक्षम है।", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json index 836b9d47a6..e8af421629 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hr.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Obavezna znamenka", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Prisilite korisnike da periodično mijenjaju lozinku", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Period promjene lozinke (dana)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Omogući sprječavanje ponovne uporabe lozinke", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Broj sprječavanja ponovne uporabe lozinke", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Omogućeno za nove korisnike", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Trajanje zaključavanja (sekunde)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Maksimalan broj neuspjelih pokušaja pristupa", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ako lozinke moraju sadržavati znamenku.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Ako se korisnici moraju periodično mijenjati lozinku.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Period u danima nakon kojeg se korisnici moraju promijeniti lozinku.", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Treba li spriječiti korisnike da ponovno koriste svoje prethodne lozinke.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Broj prethodnih lozinki koje se ne mogu ponovno koristiti.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Može li se novi korisnik zaključati.", "Description:Abp.Identity.Lockout.LockoutDuration": "Trajanje koliko je korisnik zaključan kada dođe do zaključavanja.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Broj dopuštenih neuspjelih pokušaja pristupa prije nego što se korisnik zaključa, pod pretpostavkom da je zaključavanje omogućeno.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json index da5df479d0..935a59e2f5 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/hu.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Szükséges számjegy", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "A felhasználók szükségesnek tartják a jelszavukat rendszeresen megváltoztatni", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Jelszóváltoztatási időszak napokban", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Jelszó újrafelhasználás megakadályozásának engedélyezése", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Jelszó újrafelhasználás megakadályozásának száma", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Engedélyezve az új felhasználók számára", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "A zárolás időtartama (másodpercben)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max sikertelen hozzáférési kísérlet", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ha a jelszavaknak tartalmazniuk kell egy számjegyet.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Ha a felhasználók szükségesnek tartják a jelszavukat rendszeresen megváltoztatni.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "A jelszóváltoztatási időszak napokban.", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Megakadályozzuk-e a felhasználókat abban, hogy újra felhasználják korábbi jelszavaikat.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "A korábbi jelszavak száma, amelyek nem használhatók fel újra.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Egy új felhasználó zárolható-e.", "Description:Abp.Identity.Lockout.LockoutDuration": "Az az időtartam, amelyre a felhasználó zárolva van, amikor zárolás történik.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "A felhasználó zárolása előtt megengedett sikertelen hozzáférési kísérletek száma, feltéve, hogy a zárolás engedélyezve van.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json index cb9bf6506f..ebf43ceab3 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/is.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Nauðsynlegt að hafa tölustaf", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Þvinga notendur til að breyta lykilorði á ákveðnum tímabilum", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Tímabil á milli lykilorðabreytinga (dagar)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Virkja að koma í veg fyrir endurnotkun lykilorðs", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Fjöldi sem kemur í veg fyrir endurnotkun lykilorðs", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Virkt fyrir nýja notendur", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Lengd lokunar (sekúndur)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Hámarks misheppnaðra aðgangsstilrauna", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ef lykilorð verða að innihalda tölustaf.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Hvort notendur verði að breyta lykilorði á ákveðnum tímabilum.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Tímabil á milli lykilorðabreytinga (dagar).", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Hvort á að koma í veg fyrir að notendur endurnoti fyrri lykilorð sín.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Fjöldi fyrri lykilorða sem ekki er hægt að endurnota.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Hvort hægt sé að læsa nýjum notanda.", "Description:Abp.Identity.Lockout.LockoutDuration": "Tímalengd þess að notandi er læstur úti þegar lokun á sér stað.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Fjöldi misheppnaðra aðgangstilrauna sem leyfður er áður en notandi er læstur út, að því gefnu að útilokun sé virk.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json index 3419a97fd3..efe0c53541 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/ro-RO.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Numărul de cifre", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Forţează utilizatorii să schimbe parola periodic", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Perioada de schimbare a parolei (zile)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Activează prevenirea reutilizării parolei", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Număr de prevenire a reutilizării parolei", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Activat pentru noi utilizatori", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Durata blocării (secunde)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Numărul maxim de încercări de acces eşuate", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Dacă parolele trebuie să conţină o cifră.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Dacă utilizatorii trebuie să schimbe parola periodic.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Perioada de schimbare a parolei (zile).", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Dacă să împiedice utilizatorii să își reutilizeze parolele anterioare.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Numărul de parole anterioare care nu pot fi reutilizate.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Dacă un utilizator nou poate fi blocat.", "Description:Abp.Identity.Lockout.LockoutDuration": "Durata blocării unui utilizator când intervine blocarea.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Numărul de accesări eşuate permise înainte de a bloca un utilizator, presupunând că blocarea este activată.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json index e5dc1dca97..e529910a5e 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sk.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Požadovaná číslica", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Vynútiť používateľom pravidelne meniť heslo", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Doba platnosti hesla (v dňoch)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Povoliť zabránenie opätovnému použitiu hesla", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Počet zabránenia opätovnému použitiu hesla", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Povolené pre nových používateľov", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Trvanie uzamknutia (v sekundách)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Maximálny počet neúspešných pokusov o prístup", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Či heslá musia obsahovať číslicu.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Či sa používateľom musí pravidelne meniť heslo.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Doba platnosti hesla (v dňoch).", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Či zabrániť používateľom v opätovnom použití ich predchádzajúcich hesiel.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Počet predchádzajúcich hesiel, ktoré nemožno znova použiť.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Či môže byť nový používateľ uzamknutý.", "Description:Abp.Identity.Lockout.LockoutDuration": "Doba, počas ktorej je používateľ uzamknutý, keď dôjde k uzamknutiu.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Počet neúspešných pokusov o prístup pred tým, ako bol používateľ uzamknutý za predpokladu, že je uzamknutie povolené.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json index 8d744bfff9..c02577c385 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sl.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Zahtevana številka", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Vsakih X dni zahtevaj spremembo gesla", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Število dni, ki jih uporabnik lahko uporablja isto geslo", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Omogoči preprečevanje ponovne uporabe gesla", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Število preprečevanja ponovne uporabe gesla", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Omogočeno za nove uporabnike", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Trajanje zaklepa(sekund)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Največje število neuspešnih poskusov dostopa", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Ali morajo gesla vsebovati številko.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Ali morajo uporabniki spremeniti geslo vsakih X dni.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Število dni, ki jih uporabnik lahko uporablja isto geslo.", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Ali preprečiti uporabnikom ponovno uporabo svojih prejšnjih gesel.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Število prejšnjih gesel, ki jih ni mogoče ponovno uporabiti.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Ali se nov uporabnik lahko zaklene.", "Description:Abp.Identity.Lockout.LockoutDuration": "Trajanje zaklepa uporabnika, ko pride do zaklepa.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Število neuspelih poskusov dostopa ki so dovoljeni, preden se uporabnik zaklene, ob predpostavki, da je zaklepanje omogočeno.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json index c395ff160c..166f32a10a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/sv.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Nödvändig siffra", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Tvinga användare att regelbundet byta lösenord", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Period för byte av lösenord (dagar)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Aktivera förhindring av återanvändning av lösenord", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Antal förhindring av återanvändning av lösenord", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Aktiverad för nya användare", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Varaktighet för låsning (sekunder)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max misslyckade åtkomstförsök", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Om lösenorden måste innehålla en siffra.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Om användare tvingas byta lösenord med jämna mellanrum.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Antal dagar som en användares lösenord är giltigt.", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Om användare ska förhindras från att återanvända sina tidigare lösenord.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Antalet tidigare lösenord som inte kan återanvändas.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Om en ny användare kan låsas ute.", "Description:Abp.Identity.Lockout.LockoutDuration": "Den tid som en användare är utelåst när en utelåsning inträffar.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Det antal misslyckade åtkomstförsök som tillåts innan en användare låses ut, förutsatt att låsning är aktiverad.", diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json index b0d5f7962c..a98baf6566 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json @@ -99,8 +99,8 @@ "DisplayName:Abp.Identity.Password.RequireDigit": "Chữ số bắt buộc", "DisplayName:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Buộc người dùng thay đổi mật khẩu định kỳ", "DisplayName:Abp.Identity.Password.PasswordChangePeriodDays": "Thời gian thay đổi mật khẩu (ngày)", - "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Enable prevent password reuse", - "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Prevent password reuse count", + "DisplayName:Abp.Identity.Password.EnablePreventPasswordReuse": "Bật chức năng ngăn chặn tái sử dụng mật khẩu", + "DisplayName:Abp.Identity.Password.PreventPasswordReuseCount": "Số lượng ngăn chặn tái sử dụng mật khẩu", "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Đã bật cho người dùng mới", "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Thời gian khóa (giây)", "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Số lần truy cập không thành công tối đa", @@ -117,8 +117,8 @@ "Description:Abp.Identity.Password.RequireDigit": "Nếu mật khẩu phải chứa một chữ số.", "Description:Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword": "Nếu người dùng phải thay đổi mật khẩu của họ định kỳ.", "Description:Abp.Identity.Password.PasswordChangePeriodDays": "Số ngày mà người dùng phải thay đổi mật khẩu của họ.", - "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Whether to prevent users from reusing their previous passwords.", - "Description:Abp.Identity.Password.PreventPasswordReuseCount": "The number of previous passwords that cannot be reused.", + "Description:Abp.Identity.Password.EnablePreventPasswordReuse": "Có ngăn người dùng tái sử dụng mật khẩu trước đó của họ hay không.", + "Description:Abp.Identity.Password.PreventPasswordReuseCount": "Số lượng mật khẩu trước đó không thể tái sử dụng.", "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Người dùng mới có thể bị khóa hay không.", "Description:Abp.Identity.Lockout.LockoutDuration": "Khoảng thời gian người dùng bị khóa khi xảy ra quá trình khóa.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Số lần truy cập không thành công được phép trước khi người dùng bị khóa, giả sử tính năng khóa được bật.", From 7d63a838a6eec22d0ee2c8911e707e2ea0d30648 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 8 Oct 2025 14:51:28 +0800 Subject: [PATCH 16/17] Change CreatedAt to DateTimeOffset in password history --- .../Volo/Abp/Identity/IdentityUserPasswordHistory.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs index 48729af6dc..cdfd94b35d 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserPasswordHistory.cs @@ -22,7 +22,7 @@ public class IdentityUserPasswordHistory : Entity, IMultiTenant /// public virtual string Password { get; protected set; } - public virtual DateTime CreatedAt { get; protected set; } + public virtual DateTimeOffset CreatedAt { get; protected set; } protected IdentityUserPasswordHistory() { @@ -38,7 +38,7 @@ public class IdentityUserPasswordHistory : Entity, IMultiTenant UserId = userId; Password = password; - CreatedAt = DateTime.UtcNow; + CreatedAt = DateTimeOffset.UtcNow; TenantId = tenantId; } From cfec02ec7b5a640fff3ab6dde80865649e628de9 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 8 Oct 2025 17:18:17 +0800 Subject: [PATCH 17/17] Remove UserPasswordHistories collection from MongoDbContext --- .../Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs | 2 -- .../Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs | 2 -- 2 files changed, 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs index e5dd2af3b6..86995f5472 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbContext.cs @@ -23,8 +23,6 @@ public class AbpIdentityMongoDbContext : AbpMongoDbContext, IAbpIdentityMongoDbC public IMongoCollection Sessions => Collection(); - public IMongoCollection UserPasswordHistories => Collection(); - protected override void CreateModel(IMongoModelBuilder modelBuilder) { base.CreateModel(modelBuilder); diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs index 3c4f72e5ab..7481afe5ac 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/IAbpIdentityMongoDbContext.cs @@ -22,6 +22,4 @@ public interface IAbpIdentityMongoDbContext : IAbpMongoDbContext IMongoCollection UserDelegations { get; } IMongoCollection Sessions { get; } - - IMongoCollection UserPasswordHistories { get; } }