001/*
002 *  Copyright 2010 Anyware Services
003 *
004 *  Licensed under the Apache License, Version 2.0 (the "License");
005 *  you may not use this file except in compliance with the License.
006 *  You may obtain a copy of the License at
007 *
008 *      http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *  Unless required by applicable law or agreed to in writing, software
011 *  distributed under the License is distributed on an "AS IS" BASIS,
012 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *  See the License for the specific language governing permissions and
014 *  limitations under the License.
015 */
016
017package org.ametys.plugins.repositoryapp.authentication;
018
019/**
020 * Simple mechanism to protect the repository application.
021 */
022//FIXME
023public interface RepositoryAuthentication
024{
025//    /** Avalon Role */
026//    public static final String ROLE = RepositoryAuthentication.class.getName();
027//    
028//    /**
029//     * Returns the {@link CredentialsProvider} used to get Credentials.
030//     * @return a CredentialsProvider.
031//     */
032//    public CredentialsProvider getCredentialsProvider();
033//    
034//    /**
035//     * Returns true if the user authentified by the given {@link Credentials} is authorized to access to the application.
036//     * @param credentials the users' credentials.
037//     * @return true if he user is granted access.
038//     */
039//    public boolean allowUser(Credentials credentials);
040//    
041//    /**
042//     * Implement this method to do some stuff after allowing user.
043//     * The default implementation do nothing
044//     */
045//    public default void allowed() 
046//    {
047//        // Nothing to do by default.
048//    }
049}