Sto costruendo una soluzione basata su Domain Driven Design, sto cercando di implementare il sistema di sicurezza (autenticazione, autorizzazione, ruoli, configurazione del sistema, stringhe di connessione, ecc.) in un livello trasversale (problemi trasversali come Memorizzazione nella cache, sicurezza, registrazione, ecc.
I livelli della mia applicazione sono due progetti (ContractsTransversal e Transversal), in cui il progetto ContractsTransversal espone solo i servizi di livello trasversale utilizzando le interfacce (ICaching, ILogging, ISecurity, ecc.) ma l'implementazione di tali interfacce è nel Progetto trasversale.
Il design è basato sul libro "Guia de arquitectura de Ncapas orienta al dominio" di Microsoft, che suggerisce l'implementazione dello strato trasversale attraverso IoC (Dependency Injection) e la sua relazione con tutte le parti del sistema è disaccoppiata. Lo sto facendo, ho creato il mio contenitore per implementare IoC. Ho altri progetti che hanno solo le mie entità aziendali come UsersEntity, ProductEntity, ecc.
È corretto avere un riferimento del mio progetto di entità aziendali al mio progetto Transaversal e ContractsTransversal?
Chiedo perché nel progetto di sicurezza devo conoscere le informazioni su utente, ruoli, permessi, ecc. o qual è la migliore pratica per implementare la sicurezza in un modello di progettazione basato sul dominio?