1 /* 2 * SSL-Explorer 3 * 4 * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 of 9 * the License, or (at your option) any later version. 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public 16 * License along with this program; if not, write to the Free Software 17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 */ 19 20 package com.sslexplorer.agent; 21 22 import com.sslexplorer.boot.RequestHandlerRequest; 23 import com.sslexplorer.security.User; 24 25 /** 26 * Implementors of this interfaces will extract authentication credentials from 27 * the request and try to authenticate against SSL-Explorer. 28 */ 29 public interface AgentAuthenticator { 30 /** 31 * Authenticate a request and return a user. The implemetation 32 * should extract parameters from the request for authentication 33 * and retrieve a user object from the current user database. 34 * 35 * @param request request 36 * @return user 37 */ 38 User authenticate(RequestHandlerRequest request); 39 }