⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tahitidaemonusermanager.java

📁 aglet的部分源码
💻 JAVA
字号:
package com.ibm.aglets.tahiti;/* * $Id: TahitiDaemonUserManager.java,v 1.2 2001/08/01 03:46:59 kbd4hire Exp $ * * @(#)TahitiDaemonUserManager.java * */import com.ibm.aglet.system.AgletRuntime;import com.ibm.awb.misc.Resource;import com.ibm.awb.misc.FileUtils;import java.security.cert.Certificate;import java.security.KeyException;import java.io.LineNumberReader;import java.io.InputStreamReader;import java.io.IOException;/** *  Provides user authentication for the Tahiti Daemon. * * @author     Larry Spector * @created    July 20, 2001 * @version $Revision: 1.2 $ $Date: 2001/08/01 03:46:59 $ $Author: kbd4hire $ */public final class TahitiDaemonUserManager extends UserManager {    private static boolean              _verbose = false;    /**     *  Constructor for the TahitiDaemonUserManager object     *     * @since 1.0     */    public TahitiDaemonUserManager() {        _verbose = Boolean.getBoolean(System.getProperties().getProperty("verbose"));    }    /**     *  Verify the user and return their certificate.     *     * @return    The user's certificate     * @since 1.0     */    public Certificate login() {        AgletRuntime runtime = AgletRuntime.getAgletRuntime();        if (runtime == null) {            return null;        }        Certificate cert = null;        String username = null;        while (cert == null) {            while (username == null) {                username = inputUsername("login");            }            String password = input("password", "", false);            if (password == null) {                password = "";            }            cert = runtime.authenticateOwner(username, password);            if (cert == null) {                if (_verbose) {                    System.out.println("Password is incorrect.");                }                username = null;            }        }        setUsername(username);        setCertificate(cert);        return cert;    }    /**     *  Loads the aglets properties file.     *     * @param  username  Name of the user     * @return           The string resources for the user.     * @since 1.0     */    private Resource createAgletsResourceForUser(String username) {        Resource res = Resource.getResourceFor("aglets");        if (res == null) {            try {                String propfile =                        FileUtils.getPropertyFilenameForUser(username, "aglets");                res = Resource.createResource("aglets", propfile, null);                if (_verbose) {                    System.out.println("reading aglets property from "                             + propfile);                }            } catch (Exception ex) {                ex.printStackTrace();            }        }        return res;    }    /**     *  Reads input line by line from standand in.     *     * @param  title    Description of Parameter     * @param  defval   Description of Parameter     * @param  enforce  Description of Parameter     * @return          User's keyboard input.     * @since 1.0     */    private String input(String title, String defval, boolean enforce) {        String line = null;        LineNumberReader r =                new LineNumberReader(new InputStreamReader(System.in));        while (true) {            if (_verbose) {                System.out.print(title                         + (defval == null || defval.length() == 0 ? ":"                         : "[" + defval + "]:"));                System.out.flush();            }            try {                line = r.readLine();            } catch (IOException ex) {            }            if (line == null) {                System.exit(1);            }            if (line.trim().length() != 0) {                return line.trim();            } else if (defval != null && defval.length() != 0) {                return defval;            } else if (enforce == false) {                return null;            }        }    }    /**     *  Description of the Method     *     * @param  title  Description of Parameter     * @return        Description of the Returned Value     * @since 1.0     */    private String inputUsername(String title) {        return inputUsername(title, getDefaultUsername());    }    /**     *  Description of the Method     *     * @param  title            Description of Parameter     * @param  defaultUsername  Description of Parameter     * @return                  Description of the Returned Value     * @since 1.0     */    private String inputUsername(String title, String defaultUsername) {        return input(title, defaultUsername, true);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -