/** * * Copyright 2004 The Apache Software Foundation * * Licensed 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. */ package org.apache.geronimo.security.realm; import org.apache.geronimo.security.deploy.MapOfSets; import org.apache.geronimo.security.deploy.PrincipalInfo; /** * Provides a way for security realms to provide reasonable defaults for * principal to role mapping. * <p/> * This interface is used by the deployment code to automatically map * principals to roles. * * @version $Rev$ $Date$ */ public interface AutoMapAssistant { /** * Provides the realm name of the auto map assistant. * @return the realm name of the auto map assistant */ public String getRealmName(); /** * Provides the default principal to be used when an unauthenticated * subject uses a container. * * @return the default principal */ public PrincipalInfo getDefaultPrincipal(); /** * Provides a set of principal class names to be used when automatically * mapping principals to roles. * * @return a map of logindomain name to set of principal class names */ public MapOfSets getAutoMapPrincipalClasses(); }