Hello Quan

+1 for option 1
And one user for the System session. I got many case in past that need
session for "no one"


On Thu, Aug 4, 2022 at 10:20 AM Quan tran hong <quan.tranhong1...@gmail.com>
wrote:

> Hi folks,
>
> Recently when I working with the RSpamD module, I found it is hard to
> access a message with just a messageId from a system aspect (without a
> dedicated username context).
> I have a look again at our MailboxSession code and also the same topic
> which Rene raised a long time ago (
> https://lists.apache.org/thread/chmylvglv3mqnmrgwyg49qwmbc5nxfff), I
> realized that our System session type does not have a really different
> meaning from normal User session type.
> I believe that I am not the only one having this issue until now but this
> is an issue that stayed low in our code base with some disadvantages:
> - It is hard to implement say curl -XDELETE /msgs/:messageId (without
> username context).
> - We are not able to distinguish (eg in logs) between user actions and
> stuff triggered via a web admin task. Only using users brings in
> traceability issues...
>
> So I decided to raise this topic again to solve this issue one and for all.
> Here is my idea on how to solve this (get inspiration from Rene's old PR:
> https://github.com/linagora/james-project/pull/3038):
> - Refactor `createSystemSession` -> `createUserSession` (quickly change
> system -> user session in code)
> - Create `createSystemSession` which creates a session with a meaningful
> System type
> - Adding tests to make sure System type session have the full right access
> to arbitrary user resources (rename mailbox, delete mailbox, create
> mailbox, copy message, setFlags, delete message, move message, read
> message, search mailbox, search message,...).
>
> The scope of `TypeSession` refactoring is my concern with the following
> options:
> - Option 1: 2 types of session (User/System): easier to archive our needs.
> - Option 2: 4 types of session proposed in the old ML thread
> (User/ImpersonatedUser/DelegatedUser/System): more comprehensive and good
> for audit actions (by who) but come with bigger refactoring effort
> (action's actor information refactoring).
>
> I propose we choose option 1 first to fastly archive our need and spend
> more effort with option 2 later.
>
> Here is my proposal on this topic. What do you think? Feedback is welcome
> :')
>
> Best regards,
>
> Quan
>


-- 
Tung, Tran Van
*Phone:* (+84) 35 757 6258
*Skype:* tung.tv202

Reply via email to