01: /*
02: * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/auth/Authenticator.java,v 1.10 2007/10/09 11:09:11 lexuanttkhtn Exp $
03: * $Author: lexuanttkhtn $
04: * $Revision: 1.10 $
05: * $Date: 2007/10/09 11:09:11 $
06: *
07: * ====================================================================
08: *
09: * Copyright (C) 2002-2007 by MyVietnam.net
10: *
11: * All copyright notices regarding mvnForum MUST remain
12: * intact in the scripts and in the outputted HTML.
13: * The "powered by" text/logo with a link back to
14: * http://www.mvnForum.com and http://www.MyVietnam.net in
15: * the footer of the pages MUST remain visible when the pages
16: * are viewed on the internet or intranet.
17: *
18: * This program is free software; you can redistribute it and/or modify
19: * it under the terms of the GNU General Public License as published by
20: * the Free Software Foundation; either version 2 of the License, or
21: * any later version.
22: *
23: * This program is distributed in the hope that it will be useful,
24: * but WITHOUT ANY WARRANTY; without even the implied warranty of
25: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26: * GNU General Public License for more details.
27: *
28: * You should have received a copy of the GNU General Public License
29: * along with this program; if not, write to the Free Software
30: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
31: *
32: * Support can be obtained from support forums at:
33: * http://www.mvnForum.com/mvnforum/index
34: *
35: * Correspondence and Marketing Questions can be sent to:
36: * info at MyVietnam net
37: *
38: * @author: Minh Nguyen
39: * @author: Mai Nguyen
40: */
41: package com.mvnforum.auth;
42:
43: import javax.servlet.http.HttpServletRequest;
44:
45: import net.myvietnam.mvncore.web.GenericRequest;
46:
47: /**
48: * #@todo Expand guide about the overall authentication process
49: * If the user is authenticated, then the memberID equals 0
50: * See ForumUserServlet#process : uncomment the comment code for the hint
51: */
52: public interface Authenticator {
53:
54: /**
55: * This method will be called by mvnForum's authentication system
56: * to authenticate the customized user
57: * With this generic interface, developer could integrate their own
58: * authentication to the mvnForum system
59: * NOTE: The user should already be in the Member table of mvnForum database
60: * Developer could use this implementation strategy if the user's
61: * information is in other place (such as LDAP):
62: * - Check if user is login
63: * - If no, then return null
64: * - If yes, check if username is good name with StringUtil.checkGoodName
65: * - If not, then return null
66: * - If yes, check if user is in the mvnForum's mvnforumMember
67: * - If yes, return the username
68: * - If no, create the user
69: * If you are successful, shareing your knowledge and experience to other
70: * members of mvnForum community is highly appreciated
71: *
72: * @see OnlineUserManager#setAuthenticator(Authenticator)
73: * @param request the servlet request
74: * @return the username of the current user associated with this request
75: * If no user has been authenticated in this request, then null should be return
76: */
77: public String getRemoteUser(HttpServletRequest request);
78:
79: public String getRemoteUser(GenericRequest request);
80:
81: public boolean isCorrectCurrentPassword(String memberName,
82: String password, boolean encoded);
83:
84: }
|