Creating a Closed User Group

Closed User Groups (CUGs) are used to limit access to specific pages that reside within a published internet site. Such pages require the assigned members to login and provide security credentials.

To configure such a area within your website you:


Closed user groups (CUGs) should always be created with performance in mind.

Although the number of users and groups in a CUG is not limited, a high number of CUGs on a page may slow down rendering performance.

The impact of CUGs should always be considered when doing performance testing.

Creating The User Group To Be Used

To create a closed user group:

  1. Go to Tools - Security from the AEM homescreen.


    See Managing Users and Groups for full information on creating and configuring users and groups.

  2. Select the Groups card from the next screen.


  3. Press the Create button in the top right corner, in order to create a new group.

  4. Name your new group; for example, cug_access.


  5. Go to the Members tab and assign the required users to this group.


  6. Activate any users that you have assigned to your CUG; in this case, all members of cug_access.

  7. Activate the closed user group so that it is available in the publish environment; in this example, cug_access.

Applying Your Closed User Group To Content Pages

To apply the CUG to a page:

  1. Navigate to the root page of the restricted section you want to assign to your CUG.

  2. Select the page by clicking on its thumbnail and then clicking Properties in the top panel.


  3. In the following window, go to the Advanced tab.

  4. Scroll down and enable the tickbox in the Authentication Requirement section.

  5. Add your configuration path below, then press Save.

  6. Next, go to the Permissions tab and press the Edit Closed User Group button.



    Note that CUGs in the Permissions tab cannot be rolled out to Live Copies from Blueprints. Please plan around this when configuring Live Copy.

    For more information, see this page.

  7. Look for and add your CUG in the following window - in this case add the group named cug_access. Finally, press Save.

  8. Click Enabled to define that this page (and any child pages) belong to a CUG.

  9. Specify the Login Page that members of the group will use; for example:


    This is optional, if left blank the standard login page will be used.

  10. Add the Admitted Groups. Use + to add groups or - to remove. Only members of these groups will be allowed to log in and access the pages.

  11. Assign a Realm (a name for the groups of pages) if required. Leave empty to use the page title.

  12. Click OK to save the specification.

See Identity Management for information about profiles in the publish environment and providing forms for logging in and out.

Linking To The Realm

Since the target of any links to the CUG Realm are not visible to the anonymous user, the linkchecker will remove such links.

To avoid this, it is advisable to create non-protected redirect pages that point to pages within the CUG Realm. The navigation entries are then rendered without causing the linkchecker any problems. Only when actually accessing the redirect page will the user be redirected inside the CUG Realm - after successfully providing their login credentials.

Configure Dispatcher for CUGs

If you are using Dispatcher, you need to define a Dispatcher farm with the following properties:

  • virtualhosts: Matches the path to the pages that the CUG applies to.
  • \sessionmanagement: see below.
  • cache: A cache directory that is dedicated to the files that the CUG applies to.

Configuring Dispatcher Session Management for CUGs

Configure session management in the dispatcher.any file for the CUG. The authentication handler that is used when access is requested for CUG pages determines how you configure session management.

    /header "Cookie:login-token"

When a Dispatcher farm has session-management enabled, all pages that the farm handles are not cached. To cache pages that are outside of CUG, create a second farm in dispatcher.any
that handles the non-CUG pages.

  1. Configure /sessionmanagement by defining /directory; for example:

      /directory "/usr/local/apache/.sessions"
  2. Set /allowAuthorized to 0.

On this page