import java.nio.charset.StandardCharsets;
import java.util.Base64;
-import javax.inject.Inject;
-import javax.inject.Singleton;
import javax.servlet.http.HttpServletRequest;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.ShiroException;
import org.apache.shiro.session.UnknownSessionException;
import org.apache.shiro.subject.Subject;
import org.jolokia.osgi.security.Authenticator;
-import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* AAA hook for <code>odl-jolokia</code> configured w/ <code>org.jolokia.authMode=service-all</code>.
*/
-@Singleton
-@Component(immediate = true)
public class ODLAuthenticator implements Authenticator {
private static final Logger LOG = LoggerFactory.getLogger(ODLAuthenticator.class);
- @Inject
- public ODLAuthenticator() {
- // Exposed for DI
- }
-
@Override
public boolean authenticate(final HttpServletRequest httpServletRequest) {
final String authorization = httpServletRequest.getHeader("Authorization");
<argument ref="passwordService" />
</bean>
+ <bean id="authenticator" class="org.opendaylight.aaa.authenticator.ODLAuthenticator" />
+ <service ref="authenticator" interface="org.jolokia.osgi.security.Authenticator" />
+
<bean id="shiroWebEnvLoader" class="org.opendaylight.aaa.shiro.web.env.ShiroWebEnvironmentLoaderListener">
<argument ref="shiroConfiguration"/>
<argument ref="dataBroker"/>