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

📄 xmlsecurityprovider.java

📁 精通Jboss——Ejb和Web Services开发精解的随书源代码
💻 JAVA
字号:
package com.liuyang.axis.security;

import java.io.File;
import java.util.*;
import org.apache.axis.security.*;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
import org.apache.axis.*;

public class XMLSecurityProvider implements SecurityProvider{
	private SAXReader reader = new SAXReader();
	private synchronized void initialize(MessageContext msgContext){
		File userFile = new File(msgContext.getStrProp(Constants.MC_CONFIGPATH) + "security.xml");
		if (userFile.exists()) {
			try {Document usersdoc =reader.read(userFile);
				if(usersdoc!=null){
					List list = usersdoc.selectNodes("//user");
					if((list!=null)&&(!list.isEmpty())){
						Iterator it = list.iterator();
						while(it.hasNext()){
							Element element = (Element)it.next();
							String un = element.attributeValue("username");
							String up = element.attributeValue("password");
							if((un!=null)&&(up!=null))users.put(un,up);
						}
					}
				}
			} catch (Exception e) {} 			
		}initialized=true;	
	}
	private HashMap users = new HashMap();boolean initialized = false;
	public AuthenticatedUser authenticate(MessageContext msgContext) {
		if (!initialized)initialize(msgContext);
		String username = msgContext.getUsername();
		String password = msgContext.getPassword();
		if (username == null ||username.equals("") ||!users.containsKey(username))return null;
		String valid = (String) users.get(username);
		if ( valid.length()>0 && !valid.equals(password) )return null;
		return new XMLAuthenticatedUser(username);
	}
	public boolean userMatches(AuthenticatedUser user, String principal) {
		if (user == null) return principal == null;
		return user.getName().compareToIgnoreCase(principal) == 0;
	}
}

⌨️ 快捷键说明

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