1 /* 2 * Copyright (C) 2006 Methodhead Software LLC. All rights reserved. 3 * 4 * This file is part of TransferCM. 5 * 6 * TransferCM is free software; you can redistribute it and/or modify it under the 7 * terms of the GNU General Public License as published by the Free Software 8 * Foundation; either version 2 of the License, or (at your option) any later 9 * version. 10 * 11 * TransferCM is distributed in the hope that it will be useful, but WITHOUT ANY 12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 14 * details. 15 * 16 * You should have received a copy of the GNU General Public License along with 17 * TransferCM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, 18 * Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 21 package com.methodhead.auth; 22 23 /** 24 * AuthUser defines the minimal functionality a user object must implement to 25 * be logged in by <tt>AuthAction</tt> 26 */ 27 public interface AuthUser { 28 29 // constants //////////////////////////////////////////////////////////////// 30 31 // constructors ///////////////////////////////////////////////////////////// 32 33 // methods ////////////////////////////////////////////////////////////////// 34 35 /** 36 * Returns the user's login. 37 */ 38 public String getLogin(); 39 40 /** 41 * Returns a value known only to the user, like a password, but encrypted 42 * such that it may exist in public view (e.g., in a cookie). 43 */ 44 public String getPublicSecret(); 45 46 /** 47 * Returns <tt>true</tt> if <tt>password</tt> is the user's password. 48 */ 49 public boolean authenticate( 50 String password ); 51 52 /** 53 * Loads the user for the specified login, returning <tt>true</tt> if the 54 * user is successfully loaded, or <tt>false</tt> if the user could not be 55 * loaded. An <tt>AuthException</tt> is thrown if an error occurred while 56 * loading the user. 57 */ 58 public boolean loadForLogin( 59 String login ) 60 throws 61 AuthException; 62 } 63 64 65 66 67