Consulte la documentación para AccountInterface
:
Define un objeto que tiene una identificación de usuario, roles y puede tener datos de sesión. La interfaz global es implementada tanto por la sesión global como por la entidad del usuario
Está en el Session
espacio de nombres por una razón: representa algo que puede tener datos de sesión.
Las interfaces ContentEntityInterface
y EntityChangedInterface
extendidas por le UserInterface
dicen que representa un concepto diferente:
Las entidades de contenido usan campos para todas sus propiedades de entidad y son traducibles y revisables, mientras que las traducciones y revisiones se pueden habilitar por tipo de entidad.
Define una interfaz para el seguimiento de marca de tiempo de cambio de entidad.
Estos datos pueden ser útiles para una invalidación de caché más precisa (especialmente en el lado del cliente) y el bloqueo de edición concurrente.
A UserInterface
representa una cuenta de usuario de Drupal completa que puede tener revisiones, campos, traducciones, etc.
No puedo decirte cuál es más adecuado para tu caso de uso, pero te animo a que pienses cuál de estas interfaces es la más adecuada para el código que estás escribiendo.
Mi instinto me dice que usaría AccountInterface
para algo que está mínimamente "conectado" (por ejemplo, usuario conectado, una lista de usuarios en línea, alguien que inició sesión a través de SSO) y UserInterface
para algo más que eso (por ejemplo, perfiles de usuario, autores asociados, largo tiempo -viva datos, la mayoría de las cosas que hacemos en Drupal).