帐号密码登陆(Account password authentication)

帐号密码登陆(Account password authentication)

直到输入帐号正确才能输入密码(3次验证机会)并提示剩余次数,(正确的帐号和密码信息来自properties文件读取匹配)web

public class TestAccountPassword {
    public boolean testAccout() {
        System.out.println("欢迎进入系统 请进行管理员登陆验证!!");
        String acc = "", pass = "";
        int i = 3;
        do {
            do {
                if (i <= 0) {
                    System.out.println("sorry 三次机会已经用完了!!");
                    return false;
                }
                System.out.println("请输入用户名:");
                acc = CMUtility.readString(8);
                if (!getProperties("account").equals(acc)) {
                    i--;
                    System.out.println("登帐号码错误!您还剩余" + i + "次机会请从新输入:");
                } else {
                    break;
                }
            } while (i > 0);
            do {
                if (i <= 0) {
                    System.out.println("sorry 三次机会已经用完了!!");
                    return false;
                }
                System.out.println("请输入密码:");
                pass = CMUtility.readString(8);
                if (!pass.equals(getProperties("password"))) {
                    i--;
                    System.out.println("登陆密码错误!您还剩余" + i + "次机会请从新输入:");
                } else {
                    break;
                }
            } while (i > 0);
            if (pass.equals(getProperties("password"))) {
                System.out.println("恭喜您!登陆成功!");
                return true;
            }
        } while (i > 0);
        System.out.println("登陆失败!");
        return false;
    }

    public static String getProperties(String accorpass) {
        // 建立Properties对象
        Properties pro = new Properties();
        // 1 调用方法 读取 .properties文件到集合 对象 pro中
        try {
            pro.load(new FileInputStream("src/manage.properties"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 2.根据键值从pro中读取value
        return pro.getProperty(accorpass);
    }
}