Search in sources :

Example 6 with SecurityProvider

use of org.apache.jackrabbit.oak.spi.security.SecurityProvider in project jackrabbit-oak by apache.

the class SecurityProviderRegistrationTest method testUnbindMandatoryCandidate.

@Test
public void testUnbindMandatoryCandidate() {
    registration.activate(context.bundleContext(), requiredServiceIdMap("actionProvider"));
    registration.bindUserConfiguration(mockConfiguration(UserConfiguration.class));
    AuthorizableActionProvider ap = Mockito.mock(AuthorizableActionProvider.class);
    registration.bindAuthorizableActionProvider(ap, ImmutableMap.of(Constants.SERVICE_PID, "actionProvider"));
    SecurityProvider service = context.getService(SecurityProvider.class);
    assertNotNull(service);
    registration.unbindAuthorizableActionProvider(ap, ImmutableMap.of(Constants.SERVICE_PID, "actionProvider"));
    service = context.getService(SecurityProvider.class);
    assertNull(service);
}
Also used : SecurityProvider(org.apache.jackrabbit.oak.spi.security.SecurityProvider) AuthorizableActionProvider(org.apache.jackrabbit.oak.spi.security.user.action.AuthorizableActionProvider) UserConfiguration(org.apache.jackrabbit.oak.spi.security.user.UserConfiguration) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 7 with SecurityProvider

use of org.apache.jackrabbit.oak.spi.security.SecurityProvider in project jackrabbit-oak by apache.

the class SecurityProviderRegistrationTest method testActivate.

@Test
public void testActivate() {
    registration.activate(context.bundleContext(), requiredServiceIdMap("serviceA", "serviceB"));
    SecurityProvider service = context.getService(SecurityProvider.class);
    assertNull(service);
    RestrictionProvider mockRp = Mockito.mock(RestrictionProvider.class);
    registration.bindRestrictionProvider(mockRp, ImmutableMap.of(Constants.SERVICE_PID, "serviceA"));
    service = context.getService(SecurityProvider.class);
    assertNull(service);
    registration.bindAuthorizationConfiguration(new AuthorizationConfigurationImpl(), ImmutableMap.of(Constants.SERVICE_PID, "serviceB"));
    service = context.getService(SecurityProvider.class);
    assertNotNull(service);
}
Also used : RestrictionProvider(org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider) WhiteboardRestrictionProvider(org.apache.jackrabbit.oak.security.authorization.restriction.WhiteboardRestrictionProvider) AuthorizationConfigurationImpl(org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl) SecurityProvider(org.apache.jackrabbit.oak.spi.security.SecurityProvider) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 8 with SecurityProvider

use of org.apache.jackrabbit.oak.spi.security.SecurityProvider in project jackrabbit-oak by apache.

the class CugConfigurationWithMountsTest method createConfiguration.

private static CugConfiguration createConfiguration(MountInfoProvider mip) {
    ConfigurationParameters params = ConfigurationParameters.of(AbstractCugTest.CUG_CONFIG, ConfigurationParameters.of(CugConstants.PARAM_MOUNT_PROVIDER, mip));
    SecurityProvider sp = new CugSecurityProvider(ConfigurationParameters.of(ImmutableMap.of(AuthorizationConfiguration.NAME, params)));
    return new CugConfiguration(sp);
}
Also used : SecurityProvider(org.apache.jackrabbit.oak.spi.security.SecurityProvider) ConfigurationParameters(org.apache.jackrabbit.oak.spi.security.ConfigurationParameters)

Example 9 with SecurityProvider

use of org.apache.jackrabbit.oak.spi.security.SecurityProvider in project jackrabbit-oak by apache.

the class LoginModuleImpl method getUserAuthentication.

@CheckForNull
private Authentication getUserAuthentication(@Nullable String loginName) {
    SecurityProvider securityProvider = getSecurityProvider();
    Root root = getRoot();
    if (securityProvider != null && root != null) {
        UserConfiguration uc = securityProvider.getConfiguration(UserConfiguration.class);
        UserAuthenticationFactory factory = uc.getParameters().getConfigValue(UserConstants.PARAM_USER_AUTHENTICATION_FACTORY, null, UserAuthenticationFactory.class);
        if (factory != null) {
            return factory.getAuthentication(uc, root, loginName);
        } else {
            log.error("No user authentication factory configured in user configuration.");
        }
    }
    return null;
}
Also used : Root(org.apache.jackrabbit.oak.api.Root) UserAuthenticationFactory(org.apache.jackrabbit.oak.spi.security.user.UserAuthenticationFactory) SecurityProvider(org.apache.jackrabbit.oak.spi.security.SecurityProvider) UserConfiguration(org.apache.jackrabbit.oak.spi.security.user.UserConfiguration) CheckForNull(javax.annotation.CheckForNull)

Example 10 with SecurityProvider

use of org.apache.jackrabbit.oak.spi.security.SecurityProvider in project jackrabbit-oak by apache.

the class AuthenticationConfigurationImpl method getLoginContextProvider.

//----------------------------------------< AuthenticationConfiguration >---
/**
     * Create a {@code LoginContextProvider} using standard
     * {@link javax.security.auth.login.Configuration#getConfiguration() JAAS}
     * functionality. In case no login configuration for the specified app name
     * can be retrieve this implementation uses the default as defined by
     * {@link org.apache.jackrabbit.oak.spi.security.authentication.ConfigurationUtil#getDefaultConfiguration(org.apache.jackrabbit.oak.spi.security.ConfigurationParameters)}.
     * <p>
     * The {@link LoginContextProvider} implementation is intended to be used with
     * <ul>
     *     <li>Regular login using JAAS {@link javax.security.auth.spi.LoginModule} or</li>
     *     <li>Pre-authenticated subjects in which case any authentication
     *     related validation is omitted</li>
     * </ul>
     *
     * <h3>Configuration Options</h3>
     * <ul>
     *     <li>{@link #PARAM_APP_NAME}: The appName passed to
     *     {@code Configuration#getAppConfigurationEntry(String)}. The default
     *     value is {@link #DEFAULT_APP_NAME}.</li>
     * </ul>
     *
     * @param contentRepository The content repository.
     * @return An new instance of {@link LoginContextProvider}.
     */
@Nonnull
@Override
public LoginContextProvider getLoginContextProvider(ContentRepository contentRepository) {
    String appName = getParameters().getConfigValue(PARAM_APP_NAME, DEFAULT_APP_NAME);
    SecurityProvider provider = getSecurityProvider();
    Whiteboard whiteboard = null;
    if (provider instanceof WhiteboardAware) {
        whiteboard = ((WhiteboardAware) provider).getWhiteboard();
    } else {
        log.warn("Unable to obtain whiteboard from SecurityProvider");
    }
    return new LoginContextProviderImpl(appName, getParameters(), contentRepository, getSecurityProvider(), whiteboard);
}
Also used : WhiteboardAware(org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardAware) SecurityProvider(org.apache.jackrabbit.oak.spi.security.SecurityProvider) Whiteboard(org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard) Nonnull(javax.annotation.Nonnull)

Aggregations

SecurityProvider (org.apache.jackrabbit.oak.spi.security.SecurityProvider)33 Test (org.junit.Test)19 AbstractSecurityTest (org.apache.jackrabbit.oak.AbstractSecurityTest)15 Root (org.apache.jackrabbit.oak.api.Root)8 Nonnull (javax.annotation.Nonnull)6 ConfigurationParameters (org.apache.jackrabbit.oak.spi.security.ConfigurationParameters)6 WhiteboardRestrictionProvider (org.apache.jackrabbit.oak.security.authorization.restriction.WhiteboardRestrictionProvider)5 AuthorizationConfiguration (org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration)5 RestrictionProvider (org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider)5 UserConfiguration (org.apache.jackrabbit.oak.spi.security.user.UserConfiguration)5 AuthorizableActionProvider (org.apache.jackrabbit.oak.spi.security.user.action.AuthorizableActionProvider)5 CheckForNull (javax.annotation.CheckForNull)4 AuthorizationConfigurationImpl (org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl)4 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 SimpleCredentials (javax.jcr.SimpleCredentials)3 UnsupportedCallbackException (javax.security.auth.callback.UnsupportedCallbackException)3 UserManager (org.apache.jackrabbit.api.security.user.UserManager)3 ContentSession (org.apache.jackrabbit.oak.api.ContentSession)3 SecurityProviderImpl (org.apache.jackrabbit.oak.security.SecurityProviderImpl)3