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

📄 login.java

📁 Eclipse RCP应用系统开发方法与实战源代码
💻 JAVA
字号:
package cn.edu.jfcs.sys;

import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Display;
import cn.edu.jfcs.model.SaveLogInfo;
import cn.edu.jfcs.ui.LoginDialog;

public class Login {
	public Login() {
	}

	public boolean isLogin() {
		final LoginDialog loginDialog = new LoginDialog(Display.getCurrent()
				.getActiveShell());
		boolean loop = false;
		while (!loop) {
			if (loginDialog.open() != Window.OK)
				return false;
			String username = SaveLogInfo.getInstance().getUsername();
			String password = SaveLogInfo.getInstance().getPassword();
			loop = isValidate(username, password);
			if (!loop)
				MessageDialog.openWarning(null, "提示", "用户名或者密码错误,无法登录!");
		}
		return loop;
	}

	private boolean isValidate(String username, String password) {
		Map authorizationInfo = Platform.getAuthorizationInfo(Platform
				.getInstanceLocation().getURL(), "", "Digest");
		if (authorizationInfo == null) {
			// 首次登录保存用户名、密码
			final Map<String, String> logUser = new HashMap<String, String>(2);
			logUser.put("username", username);
			logUser.put("password", password);
			try {
				// 以加密形式保存密码信息
				Platform.addAuthorizationInfo(Platform.getInstanceLocation()
						.getURL(), "", "Digest", logUser);
			} catch (CoreException e) {
				e.printStackTrace();
				return false;
			}
			return true;
		}
		String prefUser = authorizationInfo.get("username").toString().trim();
		String prefPwd = authorizationInfo.get("password").toString().trim();
		if (!username.equals(prefUser) || !password.equals(prefPwd))
			return false;
		return true;
	}
}

⌨️ 快捷键说明

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