From 0ed2c1124cf1b9e49a2ec1fa0126a8df09f9e758 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 7 Oct 2014 09:18:11 +0200 Subject: Repackage to org.cristalise --- .../com/c2kernel/process/auth/Authenticator.java | 93 ---------------------- .../com/c2kernel/process/auth/ConsoleAuth.java | 64 --------------- .../java/com/c2kernel/process/auth/ProxyLogin.java | 41 ---------- 3 files changed, 198 deletions(-) delete mode 100644 src/main/java/com/c2kernel/process/auth/Authenticator.java delete mode 100644 src/main/java/com/c2kernel/process/auth/ConsoleAuth.java delete mode 100644 src/main/java/com/c2kernel/process/auth/ProxyLogin.java (limited to 'src/main/java/com/c2kernel/process/auth') diff --git a/src/main/java/com/c2kernel/process/auth/Authenticator.java b/src/main/java/com/c2kernel/process/auth/Authenticator.java deleted file mode 100644 index 4578744..0000000 --- a/src/main/java/com/c2kernel/process/auth/Authenticator.java +++ /dev/null @@ -1,93 +0,0 @@ -/** - * This file is part of the CRISTAL-iSE kernel. - * Copyright (c) 2001-2014 The CRISTAL Consortium. All rights reserved. - * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; either version 3 of the License, or (at - * your option) any later version. - * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - * - * http://www.fsf.org/licensing/licenses/lgpl.html - */ -package com.c2kernel.process.auth; - -import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.ObjectNotFoundException; - -/** - * This interface is used by the kernel to store an authenticated connection - * and/or token that will be used by kernel components. The CRISTAL property - * 'Authenticator' is used to specify the implementation used. It is - * instantiated by the connect() methods of the Gateway, and will be found in - * the AgentProxy returned by connect(). Lookup and ClusterStorage instances are - * initialized with this Authenticator, which is expected to maintain the same - * user's connection through the process lifetime, reconnecting if the - * connection is lost. - * - * @since 3.0 - * - */ -public interface Authenticator { - - /** - * Authenticates a CRISTAL agent. If this method returns true, then the - * connect method will create and return an AgentProxy for the given - * username using the Lookup and ProxyManager. - * - * @param agentName - * The username of the Agent to be authenticated. This must be - * already present as an Agent in the CRISTAL directory. - * @param password - * The Agent's password - * @param resource - * The authentication resource/domain/realm of the agent. - * Included so that domains may include CRISTAL users from - * different realms. This parameter is passed into the connect() - * method if required. May be null. - * @return a boolean indicating if the authentication was successful. If so, - * then the Gateway will generate an AgentProxy for the given user. - * @throws ObjectNotFoundException - * When the Agent doesn't exist - * @throws InvalidDataException - * When authentication fails for another reason - */ - public boolean authenticate(String agentName, String password, - String resource) throws InvalidDataException, - ObjectNotFoundException; - - /** - * Authenticates a superuser connection for the server. It must be able to - * act on behalf of any other Agent, as the server needs to do this. - * Credentials may be in the CRISTAL properties, or some other mechanism. - * - * @param resource - * @return - * @throws InvalidDataException - * @throws ObjectNotFoundException - */ - public boolean authenticate(String resource) throws InvalidDataException, - ObjectNotFoundException; - - /** - * Lookup and storage implementations that need to use user or superuser - * authentication can retrieve it using this method. This will be highly - * implementation specific. - * - * @return the connection/token created during authentication - */ - public Object getAuthObject(); - - /** - * Close or expire the connection as the CRISTAL process shuts down. - */ - public void disconnect(); -} diff --git a/src/main/java/com/c2kernel/process/auth/ConsoleAuth.java b/src/main/java/com/c2kernel/process/auth/ConsoleAuth.java deleted file mode 100644 index 379d1a5..0000000 --- a/src/main/java/com/c2kernel/process/auth/ConsoleAuth.java +++ /dev/null @@ -1,64 +0,0 @@ -/** - * This file is part of the CRISTAL-iSE kernel. - * Copyright (c) 2001-2014 The CRISTAL Consortium. All rights reserved. - * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; either version 3 of the License, or (at - * your option) any later version. - * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - * - * http://www.fsf.org/licensing/licenses/lgpl.html - */ -package com.c2kernel.process.auth; - -import java.util.Properties; -import java.util.Scanner; - -import com.c2kernel.entity.proxy.AgentProxy; -import com.c2kernel.process.Gateway; - -public class ConsoleAuth implements ProxyLogin { - - public ConsoleAuth() { - } - - @Override - public void initialize(Properties props) throws Exception { - - } - @Override - public AgentProxy authenticate(String resource) throws Exception { - AgentProxy user = null; - if (resource!=null) System.out.println("Please log in"+(resource.length()>0?"to "+resource:"")); - Scanner scan = new Scanner(System.in); - int loginAttempts = 0; - while (user == null && loginAttempts++ < 3) { - System.out.print("User:"); - String username = scan.nextLine(); - System.out.print("Password:"); - String pass = scan.nextLine(); - try { - user = Gateway.connect(username, pass, resource); - } catch (Exception ex) { - System.err.println(ex.getMessage()); - } - } - - if (user == null) { - System.err.println("Bye"); - System.exit(0); - } - return user; - - } - -} diff --git a/src/main/java/com/c2kernel/process/auth/ProxyLogin.java b/src/main/java/com/c2kernel/process/auth/ProxyLogin.java deleted file mode 100644 index 1aa9e93..0000000 --- a/src/main/java/com/c2kernel/process/auth/ProxyLogin.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * This file is part of the CRISTAL-iSE kernel. - * Copyright (c) 2001-2014 The CRISTAL Consortium. All rights reserved. - * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; either version 3 of the License, or (at - * your option) any later version. - * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - * - * http://www.fsf.org/licensing/licenses/lgpl.html - */ -package com.c2kernel.process.auth; - -import java.util.Properties; - -import com.c2kernel.entity.proxy.AgentProxy; - -/** - * This interface is used by client processes to implement alternative login - * mechanisms aside from the standard username and password. Implementations may - * synchronize Agents with an external user library, such as Active Directory. - * Implementations are expected to set up the Gateway process and its - * authenticated components itself. - * - */ -public interface ProxyLogin { - - public void initialize(Properties props) throws Exception; - - public AgentProxy authenticate(String resource) throws Exception; - -} -- cgit v1.2.3