Promoção do portal na política do proprietário, torná-lo idempotente, adicionar o seu inverso

FeatureSecurityService
Navios
11 de agosto de 2026 às 01:16 UTC
Autor
Kamo
Enviar
69116e8

Promover um membro a pagar por si próprio era incondicional, unilateral e inseguro repetir. Agora se recusa quando a política da organização diz que a organização paga todos — anteriormente o único controle sobre o auto-pagamento era a irreversibilidade do próprio gesto. É idempotente. Promover o mesmo membro duas vezes inserido uma segunda conta e uma segunda linha do membro da conta, tropeçando no único no membro id e respondendo 500; um duplo-clique, uma repetição após um blip de rede, ou um proprietário a repetir o fluxo para Movam mais licenciados. Reutiliza agora a conta e a subscrição da membro já tem e continua para a transferência. DemoteBillingOwner é o inverso que nunca existiu. Um proprietário que promoveu alguém não poderia desfazê-lo, e se esse membro deixou, seu pessoal A conta manteve-se detendo assentos mirando a organização sem nenhuma maneira de recuperar Eles. Os licenciados voltam à subscrição da organização e ao A conta e os métodos de pagamento são deixados em paz, porque reivindicar assentos da organização depende do negócio do proprietário e Apagar o histórico de alguém não é. A correspondência está no Usuário compartilhado em vez do que o ID do membro, uma vez que a promoção espelha o membro na org de topo. Também corrige a catraca do endpoint, que já estava a falhar no principal antes deste trabalho — assim a construção do SecurityService era vermelha e nada estava a implantar-se. A verificação não foi possível ver dois guardas reais: extractUserId lê userID fora do *** sessão, e requireTopLevelOwner passa por CallerSessionResolver e mais requer que o chamador possua a org de topo. Ensinando-o ambos deixar 25 ocioso as entradas de base devem ser suprimidas, que é exactamente o que o ficheiro pede — a fixação de um Endpoint significa remover sua linha, e é isso que faz o número cair. runSweep é linha de base com sua razão real: interna-auth guardado através de um parâmetro de cabeçalho que o corpo-scan não consegue alcançar.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços