Usage of Apache Sling Service User Mapper Service and Apache Sling Service User Mapper Service Amendment

Avatar

Avatar
Ignite 1
Level 1
sibim50528883
Level 1

Likes

0 likes

Total Posts

6 posts

Correct reply

0 solutions
Top badges earned
Ignite 1
Give Back 3
Give Back
View profile

Avatar
Ignite 1
Level 1
sibim50528883
Level 1

Likes

0 likes

Total Posts

6 posts

Correct reply

0 solutions
Top badges earned
Ignite 1
Give Back 3
Give Back
View profile
sibim50528883
Level 1

12-04-2020

Hi,

I am trying to configure the Service user mapper configuration. I am seeing the below two configurations available in config manager

1. Apache Sling Service User Mapper Service

2. Apache Sling Service User Mapper Service Amendment

 

I would like to know which configuration is necessary to create service user mapping, 1 or 2 and the difference between both.

I went through lot of sites and end up in confusion😓 on which one is must to configure service user mapping and if so, the use of the other.

Some of my colleagues told, configuring "Apache Sling Service User Mapper Service" is enough to map service to user.

 

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Validate 1
MVP
Theo_Pendle
MVP

Likes

238 likes

Total Posts

251 posts

Correct reply

105 solutions
Top badges earned
Validate 1
Ignite 5
Ignite 3
Ignite 10
Ignite 1
View profile

Avatar
Validate 1
MVP
Theo_Pendle
MVP

Likes

238 likes

Total Posts

251 posts

Correct reply

105 solutions
Top badges earned
Validate 1
Ignite 5
Ignite 3
Ignite 10
Ignite 1
View profile
Theo_Pendle
MVP

12-04-2020

Hello 🙂

The Apache Sling Service User Mapper Service is a global configuration, and that presents some difficulties because service user mappings are typically bundle-specific.

For example you have 2 sites deploys on one instance:

  • SiteA, whîch maps serviceA to userA
  • SiteB which maps serviceB to userB

In order to avoid having to do the mappings manually when the two sites are deployed, you add each to a configuration that is installed with your bundle. The problem then is that if you deploy siteA and then siteB, the siteA mapping will be overwritten by the siteB mapping! Basically, whichever bundle you deploy last will take precedence.

In order to solve this, the Apache Sling Service User Mapper Service Amendment (which not a configuration but a configuration factory) allows you to add one configuration per bundle. This way you can deploy both sites in whatever order and you'll still retain both configs 🙂 If you have a fresh instance and install ACS Commons, you can see this in practice:

Nothing in Apache Sling Service User Mapper Service:

Selection_112.png

All mappings in an Amendment:

Selection_113.png

If I were you, I would also use an Amendment, even if you only have one bundle to deploy... you never know what the future will bring!

Answers (0)