Since membership data is stored in the core
database and you have separate core
databases between CM and CD, it's likely that the CDs' core
does not contain the role memberships you expect.
You will need to either:
- Share a
core
database between CM and CD or
- Configure replication of the
core
database between CM and CD
For more information, consult the Scaling Guide for your version of Sitecore.
Relevant sections, depending on how your environment is configured (emphases mine):
2.1. Configuring a Standard Multi-Instance Environment
The standard multi-instance Sitecore setup uses the same three
databases, shares the Core and Web databases between all the CM and CD
instances, and shares the Master database between all the CM
instances.
3.2. Isolating the CM and CD Environments
The CM and CD environments typically need to be isolated to meet
security or infrastructure requirements. You can also use the
information in this section when you configure geographically
distributed CM and CD environments.
3.2.2 Addressing Security Synchronization
In an isolated CM and CD environment, security data and caches are
automatically synchronized within every instance of the CM
environment, as well as within every instance of the CD environment.
This happens because every instance within the environment shares the
same databases, and therefore shares the same security data and system
event queue. However, security data and caches are not automatically
synchronized between the isolated CM and CD environments.
There are different ways to address security synchronization in an
isolated CM and CD setup depending on the implementation requirements.
If your solution does not require synchronization of security data and caches, you do not need to perform any of the modifications
described in this section. For example, if the CD instances do not use
any extranet security, synchronization may be not required.
If your solution requires live synchronization of the security data and caches between the CM and CD environments from the default SQL
membership, role, and profile providers, plus security caches from
additional security providers (Active Directory, CRM, or custom
providers), we recommend that you configure database replication to
synchronize the CM Core database with the CD Core database.
This will ensure that the security account data that is stored in
these two databases, as well as related security events that are
required for synchronizing security caches are replicated between the
environments.
For more information about configuring database replication, see the
section How to: Configure SQL Server Replication.
If your solution does not require live synchronization of security data between the CM and CD environments from the default SQL
membership, role, and profile providers, but requires synchronization
of security caches from additional security providers (Active
Directory, CRM, custom providers), it is enough to only address
security cache clearing rather than replicating the Core database.
For more information about addressing security cache clearing, see the
section How to: Address Security Caching Clearing.