Class BlueMindSubjectMismatchException

All Implemented Interfaces:
Serializable

public class BlueMindSubjectMismatchException extends CalDavException
The session BlueMind opened belongs to somebody other than the account eXo meant to edit, so nothing was sent (EXO-90277).

A subscription change is addressed to a directory entry uid eXo recorded for the colleague when their account was last discovered, and made with the credentials stored for their eXo login. Those two facts can drift apart — a colleague reconnected as another BlueMind user, a principal recorded from a stale discovery — and BlueMind itself would let the session's own user edit only their own subscriptions (ROLE_SELF) while answering the same 403 for an attempt on somebody else's. The client does not rely on that: it compares authUser.uid from the login answer with the uid it was asked to edit before any POST, and refuses on a difference, so the one account eXo ever writes to with a colleague's password is that colleague's own.

Final by nature: the recorded principal has to be re-discovered for the comparison to change, which is not this client's job. The caller gives up the change rather than counting attempts against it.

See Also:
  • Constructor Details

    • BlueMindSubjectMismatchException

      public BlueMindSubjectMismatchException(String message)
      A refused edit explained by its message alone — never naming a key or a password, and never the login.
      Parameters:
      message - what did not match, in uid terms