Open Closed

I need to change my system's UTC to match my region's UTC #1633


User avatar
0
sunivycsm created

I need to change my system's UTC to match my region's UTC?

If you're creating a bug/problem report, please include followings:

  • ABP Framework version: vX.X.X

6 Answer(s)
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    Can you explain in detail?

  • User Avatar
    0
    sunivycsm created

    Hi liangshiwei I am using lock user on New User function. I'm at UTC +7, but when I login wrong and the account is locked, the time in the database is +00. How can I save as UTC +7 for our exact location

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    See: https://docs.abp.io/en/abp/latest/Timing

    Configure<AbpClockOptions>(options =>
    {
        options.Kind = DateTimeKind.Local;
    });
    
  • User Avatar
    0
    murat.yuceer created

    Hi,

    See: https://docs.abp.io/en/abp/latest/Timing

    Configure<AbpClockOptions>(options => 
    { 
        options.Kind = DateTimeKind.Local; 
    }); 
    

    Hi, liangshiwei i think abp always store UTC +0 on database right? But client side we need to store setting about client UTC. Where do we set this

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    This is the design of the Aspnet Core Identity, I would like to suggest that don't change it if you don't have to

    However, you can change it:

    [Dependency(ReplaceServices = true)]
    [ExposeServices(typeof(IdentityUserManager))]
    public class MyUserManager : IdentityUserManager
    {
        public MyUserManager(
            IdentityUserStore store,
            IIdentityRoleRepository roleRepository,
            IIdentityUserRepository userRepository,
            IOptions<IdentityOptions> optionsAccessor,
            IPasswordHasher<IdentityUser> passwordHasher,
            IEnumerable<IUserValidator<IdentityUser>> userValidators,
            IEnumerable<IPasswordValidator<IdentityUser>> passwordValidators,
            ILookupNormalizer keyNormalizer,
            IdentityErrorDescriber errors,
            IServiceProvider services,
            ILogger<IdentityUserManager> logger,
            ICancellationTokenProvider cancellationTokenProvider,
            IOrganizationUnitRepository organizationUnitRepository,
            ISettingProvider settingProvider) :
            base(store,
                roleRepository,
                userRepository,
                optionsAccessor,
                passwordHasher,
                userValidators,
                passwordValidators,
                keyNormalizer,
                errors,
                services,
                logger,
                cancellationTokenProvider,
                organizationUnitRepository,
                settingProvider)
        {
        }
    
        public override async Task<IdentityResult> AccessFailedAsync(IdentityUser user)
        {
            ThrowIfDisposed();
            var store = GetUserLockoutStore();
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }
    
            // If this puts the user over the threshold for lockout, lock them out and reset the access failed count
            var count = await store.IncrementAccessFailedCountAsync(user, CancellationToken);
            if (count < Options.Lockout.MaxFailedAccessAttempts)
            {
                return await UpdateUserAsync(user);
            }
            Logger.LogWarning(12, "User is locked out.");
            await store.SetLockoutEndDateAsync(user, DateTime.Now.Add(Options.Lockout.DefaultLockoutTimeSpan),
                CancellationToken);
            await store.ResetAccessFailedCountAsync(user, CancellationToken);
            return await UpdateUserAsync(user);
        }
    
        public override async Task<bool> IsLockedOutAsync(IdentityUser user)
        {
            ThrowIfDisposed();
            var store = GetUserLockoutStore();
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }
            if (!await store.GetLockoutEnabledAsync(user, CancellationToken))
            {
                return false;
            }
            var lockoutTime = await store.GetLockoutEndDateAsync(user, CancellationToken);
            return lockoutTime >= DateTime.Now;
        }
    
        private IUserLockoutStore<IdentityUser> GetUserLockoutStore()
        {
            var cast = Store as IUserLockoutStore<IdentityUser>;
            return cast;
        }
    }
    
  • User Avatar
    0
    ServiceBot created
    Support Team Automatic process manager

    This question has been automatically marked as stale because it has not had recent activity.

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
Do you need assistance from an ABP expert?
Schedule a Meeting
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v9.2.0-preview. Updated on March 20, 2025, 18:00