[MAGNOLIA-6563] updateLastAccessTimestamp(user) error when using REALM_ALL Created: 23/Feb/16  Updated: 19/May/22  Resolved: 19/May/22

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: 5.3.12
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Bence Vass Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

When logging in with REALM_ALL, DelegatingUserManager is used to try all available user managers.

This works fine. As can be seen in the code below, initUser() is called and a user is found.

Later in this method, a call is made to
getUserManager().updateLastAccessTimestamp(user);

This is where the error happens. updateLastAccessTimestamp again uses DelegatingUserManager, instead it should use the user manager which found the user. The realm to be used is already set in the user object, but unfortunately ignored.

/**
     * Checks is the credentials exist in the repository.
     * @throws LoginException or specific subclasses (which will be handled further for user feedback)
     */
    @Override
    public void validateUser() throws LoginException {
        initUser();

        if (this.user == null) {
            throw new AccountNotFoundException("User account " + this.name + " not found.");
        }

        if (!this.user.isEnabled()) {
            throw new AccountLockedException("User account " + this.name + " is locked.");
        }

        matchPassword();

        if (!UserManager.ANONYMOUS_USER.equals(user.getName())) {
            // update last access date for all non anonymous users
            getUserManager().updateLastAccessTimestamp(user);
        }
    }


 Comments   
Comment by Roman Kovařík [ 19/May/22 ]

Hello,

This ticket is now marked as closed due to one of the following reasons:

  • A long period of inactivity
  • Uses an old or Beta version of an application, module, or framework that we no longer support
  • The issue is no longer reproducible or has been fixed in later versions

If you are still facing a problem or consider this issue still relevant, please feel free to re-open the ticket and we will reach out to you.

Thank you,
The Magnolia Team

Generated at Mon Feb 12 04:15:42 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.