I'm building a solution based on Domain Driven Design, I'm trying to implement the security system (authentication, authorization, roles, system configuration, connection strings, etc..) in a transversal layer (cross cutting concerns like Caching, Security, Logging, etc).
The tiers of my application are two projects (ContractsTransversal and Transversal), where the ContractsTransversal project only exposes the services of transversal layer using interfaces (ICaching, ILogging, ISecurity,etc..) but the implementation of those interfaces are in the Transversal project.
The design is based on the book "Guia de arquitectura de Ncapas orienta al dominio" by Microsoft, that suggests the implementation of transversal layer across IoC (Dependency Injection) and its relation with all parts of the system are decoupled. I'm doing this, I created my container to implement IoC. I have other projects which have only my business entities like UsersEntity, ProductEntity, etc.
Is it correct to have a references of my business entities project to my Transaversal and ContractsTransversal project?
I ask because in security project I need to know information about the user, roles, permissions, etc.. or what's the best practice to implement security in a domain driven design model?