Expand my Community achievements bar.

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