- Spegnimento
- 15 agosto 2026 alle ore 05:22 UTC
- Autore
- Kamo
- Impegno
- 89ccc1b
MailboxController non ha imposto alcun diritto. MANAGE EMAIL ACCOUNS esisteva solo come checkRight nel browser e VIEW EMAIL ACCOUNTS è stato citato da nessuna parte, quindi ogni casella di posta in un'organizzazione potrebbe essere creato, sospeso, cancellato o riassegnato da qualsiasi chiamante autenticato che conosceva l'URL. Cambiare tutto ora richiede MANAGE EMAIL ACCOUNTS; lettura dettagli amministrativi — che è assegnato a una casella di posta, ciò che il fornitore di fornitura supporta — prende VIEW EMAIL ACCOUNTS. ottenereMailboxMembers, unassignMailbox e setPrimaryMailbox non ha preso HttpServletRequest affatto, quindi non avevano né un controllo dei diritti né un controllo dell'organizzazione: qualsiasi chiamante potrebbe riassegnare qualsiasi casella di posta tramite id. Prendono subito la richiesta. Il punto finale della lista non è volutamente recintato. GET /api/email/mailboxs è il primo sorgente in /api/email/directory, che supporta l'autocompleto del destinatario useRecipientSearch, e quella rotta restituisce un elenco vuoto piuttosto che un errore quando un fonte rifiuta. VIEW EMAIL ACCOUNTS è tenuto da 15 di 42 ruoli e ACCESS MAIL da 28, così gating la lista avrebbe svuotato silenziosamente i colleghi fuori dalla rubrica ogni membro che può leggere la posta ma non amministrarla, con nulla da spiegare. Le caselle di posta che un membro può aprire sono già decise da ACCESS ALL * MAILBOXES tramite AccessibleMailboxService. Un endpoint che serve sia la schermata di amministrazione che la rubrica è il vero difetto. Dividere sarebbe lasciare la vista di amministratore prendere il diritto che dovrebbe — un cambiamento API piuttosto che un'autorizzazione, quindi non fatta qui. La classe javadoc registra questo così la persona successiva non "fissa" il cancello mancante e rompere autocompleto.