Rendere la creazione di account atomico, org-scoped e diritti ricevuti

FixSecurityService
Spegnimento
7 agosto 2026 alle ore 05:08 UTC
Autore
Kamo
Impegno
e6cb8fd

creareCustomer ha salvato il conto prima di scrivere i suoi indirizzi, e non era transazionale — così quando l'inserto dell'indirizzo non è riuscito, il conto semi-costruito rimase impegnato e ogni riprovazione lasciò un altro orfano alle spalle. È ora @Transactional, e perché il gestore cattura le proprie eccezioni per modellare un risposta (che sopprime il rollback automatico di primavera) segna il transazione solo esplicitamente rollback. Anche sulla superficie del cliente: - primarioMemberId è stato esaminato con un nudo trovareById, quindi un chiamante potrebbe consegnare un membro di ANOTHER org proprietà di, e diritti di fatturazione su, un conto in Questo. È ora org-scoped, aggiornamento corrispondenteCustomerMembers che già ha fatto questo. - getAddresses and BuildAccountSummary costruito risposte con Map.of, che getta su un valore nullo. Un account senza indirizzo primario è il normale caso, quindi GET /customers/{uid}/addresses era un garantito 500. - Un codice valutario non riconosciuto persistette NULL invece del valore predefinito. - L'autorevolezza della nota è venuta dal corpo della richiesta, quindi è stato forgeable; ora viene dalla sessione. - L'intera superficie /customers non richiedeva altro che una sessione valida. Qualsiasi membro potrebbe creare, modificare ed eliminare gli account di org e riscrivere Sconti AccountTier, compresi i ruoli non assegnati VIEW ACCOUNTS. The E' il momento giusto. i diritti sono esistiti da sempre e sono ora applicato, specchiando il controllo MERGE ACCOUNTS già in questo file. POST/DELETE /leads/{id}/account non ha avuto un controllo corretto: un chiamante che tiene solo VIEW LEADS potrebbe ricollegare o scollegare l'account su una pista che non possono aprire, e ha ripreso un LeadDTO smascherato. Ora portano le stesse porte come updateLead e mascherare la risposta attraverso LeadFieldMask. Un account mancante non sarebbe più NPE in un 400 che trasporta il testo interno.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo