[MRM-1714] using LDAP can be configurable with the ui

missed to add classes.

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1412947 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2012-11-23 16:34:04 +00:00
parent e6ddd34c22
commit ca0045d9ac
1 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,63 @@
package org.apache.archiva.web.security;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.archiva.admin.model.RepositoryAdminException;
import org.apache.archiva.admin.model.runtime.ArchivaRuntimeConfigurationAdmin;
import org.apache.archiva.redback.users.UserManager;
import org.apache.archiva.redback.users.configurable.ConfigurableUserManager;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import javax.inject.Inject;
/**
* @author Olivier Lamy
*/
@Service ( "userManager#archiva" )
public class ArchivaConfigurableUsersManager
extends ConfigurableUserManager
{
@Inject
private ArchivaRuntimeConfigurationAdmin archivaRuntimeConfigurationAdmin;
@Inject
private ApplicationContext applicationContext;
@Override
public void initialize()
{
try
{
String userManagerImplStr =
archivaRuntimeConfigurationAdmin.getArchivaRuntimeConfigurationAdmin().getUserManagerImpl();
log.info( "use userManagerImpl: '{}'", userManagerImplStr );
UserManager userManagerImpl =
applicationContext.getBean( "userManager#" + userManagerImplStr, UserManager.class );
setUserManagerImpl( userManagerImpl );
}
catch ( RepositoryAdminException e )
{
// revert to a default one ?
log.error( e.getMessage(), e );
throw new RuntimeException( e.getMessage(), e );
}
}
}