Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

How to read to the contents of "Authentication requirements" (Apache Sling Authentication Service) using code?

Avatar

Level 9

I have this code that reads the contents of the module above

ConfigurationAdmin configAdmin = getSlingScriptHelper().getService( ConfigurationAdmin.class );

Configuration conf = configAdmin.getConfiguration("org.apache.sling.engine.impl.auth.SlingAuthenticatorß");

           

@SuppressWarnings("unchecked")

Dictionary<String, Object> props = conf.getProperties();

I put at breakpoint (eclipse user here if it matters) on line 5 to inspect the value of props and conf variables. I've drilled down on the folder-like structure but I cannot find what I'm looking for.

When I view the service via

http://localhost:4502/system/console/configMgr/org.apache.sling.engine.impl.auth.SlingAuthenticator

I can see several values for "Authentication Requirements" (screenshot below). Any ideas on how to do it? Thanks

Screen Shot 2017-10-25 at 2.55.04 pm.png

1 Accepted Solution

Avatar

Correct answer by
Level 10

Use below code

Configuration conf = configAdmin.getConfiguration("org.apache.sling.engine.impl.auth.SlingAuthenticator"); String[] props = (String[]) conf.getProperties().get("sling.auth.requirements");

for (String value : props) { logger.info("Value {}", value); }

Thanks

View solution in original post

4 Replies

Avatar

Correct answer by
Level 10

Use below code

Configuration conf = configAdmin.getConfiguration("org.apache.sling.engine.impl.auth.SlingAuthenticator"); String[] props = (String[]) conf.getProperties().get("sling.auth.requirements");

for (String value : props) { logger.info("Value {}", value); }

Thanks

Avatar

Employee Advisor

While edubey​'s approach is definitly working, the OSGI configuration properties of a service/component should be considered implementation details. You should not do that, as any subsequent version of the Sling authentication might change the configuration without further notice.

Jörg

Avatar

Level 9

how would you do it then?

Thanks!

Avatar

Employee Advisor

What's your usecase which requires you to read these properties?

Jörg