01: /*
02: * Copyright (C) 2006 Methodhead Software LLC. All rights reserved.
03: *
04: * This file is part of TransferCM.
05: *
06: * TransferCM is free software; you can redistribute it and/or modify it under the
07: * terms of the GNU General Public License as published by the Free Software
08: * Foundation; either version 2 of the License, or (at your option) any later
09: * 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(String password);
50:
51: /**
52: * Loads the user for the specified login, returning <tt>true</tt> if the
53: * user is successfully loaded, or <tt>false</tt> if the user could not be
54: * loaded. An <tt>AuthException</tt> is thrown if an error occurred while
55: * loading the user.
56: */
57: public boolean loadForLogin(String login) throws AuthException;
58: }
|