01: /** AuthDisplayMngr is a class that knows how to display various parts of
02: * the authentication system. It's currently used to generate the content
03: * of the login screen and setup the password changing fields.
04: *
05: * Each Authenticator will have an object that is either an instace of, or
06: * an instance of a child of AuthDisplayMngr. URLHandlers can use this
07: * objects of this class to setup displays that may be partially
08: * Authenticator specific. The purpose of putting all the information here
09: * rather than in the actual Authenticator is that many Authenticators may
10: * use the exact same display setup. And only the odd ones will be left
11: * out.
12: *
13: * This class will show a display that is suitable for normal
14: * password authentication. To accomadate other types of authentication
15: * this class can be inherited from. When inherited form, each child class
16: * should assure it's self access to any additional information that might
17: * be needed. This may mean including a pointer to the Authenticator which
18: * is using that AuthDisplayMngr, or it may include access to other
19: * classes.
20: *
21: * $Id: AuthDisplayMngr.java,v 1.1.1.1 2002/10/02 18:42:55 wastl Exp $
22: *
23: * @author Devin Kowatch
24: * @version $Revision: 1.1.1.1 $
25: * @see net.wastl.webmail.server.Authenticator
26: * @see net.wastl.webmail.server.AuthenticatorHandler
27: *
28: * Copyright (C) 2000 Devin Kowatch
29: */package org.webengruven.webmail.auth;
30:
31: import net.wastl.webmail.exceptions.*;
32: import net.wastl.webmail.server.*;
33: import net.wastl.webmail.xml.*;
34:
35: public class AuthDisplayMngr {
36:
37: /** Default C'tor */
38: public AuthDisplayMngr() {
39: }
40:
41: /** Setup state vars for the login screen. If the login screen
42: * requires any special state variables, this function should set them
43: * up.
44: * @param model The model to set vars in.
45: */
46: public void setLoginScreenVars(XMLGenericModel model)
47: throws WebMailException {
48: model.setStateVar("action uri", "login");
49: model.setStateVar("pass prompt", "1");
50: }
51:
52: /** Get the filename of the loginscreen.
53: * @return The filename of the login screen .xsl template
54: */
55: public String getLoginScreenFile() {
56: return "loginscreen.xsl";
57: }
58:
59: /** Setup state vars for the password change prompt.
60: * @param ud UserData for the user who will have their password changed
61: * @param model The model to set state vars in
62: */
63: public void setPassChangeVars(UserData ud, XMLGenericModel model)
64: throws WebMailException {
65: model.setStateVar("pass len", "15");
66: }
67:
68: /** Get the name of the template that can display the password change
69: * screen.
70: * @return The name of the template.
71: */
72: public String getPassChangeTmpl() {
73: return "normchangepass";
74: }
75:
76: }
|