- Shipped
- 19 de agosto de 2026 a las 7:54 UTC
- Author
- Kamo
- Commit
- 15f942a
Una cuenta sintética, un artefacto de prueba, un accesorio de semillas o un registro juzgado como automatizada ahora lleva a "ususs.is-fake", y la plataforma deja de reconocerlo. Borrar tal cuenta no es una opción real: una fila de usuario es la raíz de siete tablas de satélite, todos los Miembros que posee y todas las organizaciones que creó, en girar sus propios dominios, características, plantillas de correo electrónico, roles y instantáneas de almacenamiento. Suprimir significa en cascada a través de todo eso o dejar huérfanos, y destruye las pruebas de lo que sea que hizo la cuenta. Un booleano es reversible y cuesta una columna. La bandera vive en el USUARIO, no en el Miembro o en la Organización, porque la propiedad es el único borde que alcanza de manera confiable los datos derivados: .orgs.user.id.owner. y Ambos apuntan hacia atrás, así que una bandera responde "es el iniciador de esta fila sintético" para las tres espinas. Alacarar el org en su lugar dejaría la cuenta capaz para iniciar sesión y crear más. A lo que llega la bandera, y por qué cada uno está aquí en lugar de en el llamante: - UsuarioRepository.findSession y la proyección auth: la cuenta abanderada resuelve a cero filas, por lo que se lee como inexistente en lugar de bloquear. - "MiembroRepositorio" / TeamMemberRepo: excluido de los listados de miembros de org y de ambas búsquedas de directorios, junto con el Usuario del Sistema que ya estaba filtrado allí. - ************* la enumeración punto de estrango letra nueve los sitios comparten. "getOrganizationById" es deliberadamente NO filtrado - respalda las escrituras y es como la superficie del administrador llega a un org marcado para desenfartarlo. - ************* un org marcado deja de resolver por huésped, así que no puede seguir aceptando inscripciones reales bajo su propio subdominio de registro. - ******************* filtrado en la consulta en lugar de en el vigilante, porque el barrido toma un lote fijo cada minuto y un dominio que nadie posee De lo contrario, tendría una de esas ranuras para siempre, sondeando el DNS de otra persona. Cada uno de estos utiliza un alias explícito de la LEFT JOIN. Un camino desnudo en el que se va.ao.esFake. una cláusula DOE hace que Hibernate añada un segundo intromador implícito de INNER, que callaría en silencio soltar cada fila cuyo propietario es nulo y para "findByDomain" que es resolución de inicio de sesión. Los hallazgos anteriores son aditivos; los hallazgos de identidad en el UsuarioRepositorio se quedan sin filtrar a propósito. La mayoría de ellos también son carga-portad para la corrección de la singularidad antes de los controles. en cuanto a los buscadores, y los "USERS.EMAIL"/AALIAS son únicos por proveedor de seguridad. registro duplicado-cheque que no pudo ver una fila marcada navegaría más allá de la suya guardia y morir por una violación de la restricción en su lugar. También añade REGISTRACION, REGISTRATION-REJECTED, EMAIL-VERIFIED y ORG-CREATED a AccessLogEventType. System.access.logs solo mantuvo el inicio de sesión, login fallido y logout, por lo que una cuenta que registró, verificada, tomó una sesión de auto-login y creó cinco organizaciones produjeron cero filas sin evento, sin IP, sin agente de usuario y cada detección reglas teclas fuera de los eventos de inicio de sesión, dejando todo el registro embudo sin observable. Ya existe en la producción: El usuario de KamoInitializerFakeMigración se corrió antes de este empujón, para que ningún servicio pueda construir contra un esquema no migratorio.