加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice 查询时校验用户名及其IP

发布时间:2020-12-17 01:11:58 所属栏目:安全 来源:网络整理
导读:? public class AuthenticationHandler extends AbstractHandler {public static ResourceBundle resourceBundle;static { resourceBundle = ResourceBundle.getBundle("sysParam");}public void invoke(MessageContext cfx) throws Exception {if (cfx.getI
?
public class AuthenticationHandler extends AbstractHandler {
	public static ResourceBundle resourceBundle;
	static {
	        resourceBundle = ResourceBundle.getBundle("sysParam");
	}
	public void invoke(MessageContext cfx) throws Exception {
		if (cfx.getInMessage().getHeader() == null) {
			throw new org.codehaus.xfire.fault.XFireFault("请求必须包含验证信息",org.codehaus.xfire.fault.XFireFault.SENDER);
		}
		Element token = cfx.getInMessage().getHeader().getChild(
				"AuthenticationToken");
		
		if (token == null) {
			throw new org.codehaus.xfire.fault.XFireFault("请求必须包含身份验证信息",org.codehaus.xfire.fault.XFireFault.SENDER);
		} 
		String check_usernames = resourceBundle.getString("username");
		HashMap
 
 
  
   currentUser = new HashMap
  
  
    (); String check_userName [] = check_usernames.split(","); for(String _s : check_userName){ currentUser.put(_s,resourceBundle.getString(_s+"_psw")); } String username = token.getChild("Username").getValue(); String password = token.getChild("Password").getValue(); try { if(!clsStringTool.isEmpty(currentUser.get(username))){ if(currentUser.get(username).equals(password)){ //System.out.println("用户名密码验证通过"); String ip = XFireServletController.getRequest().getHeader("remoteIp"); if( ip == null) ip = XFireServletController.getRequest().getRemoteAddr(); //System.out.println("ip==="+ip); if(resourceBundle.getString("ip").contains(ip)){ //System.out.println("用户IP验证通过"); }else{ throw new org.codehaus.xfire.fault.XFireFault("非法的IP来源",org.codehaus.xfire.fault.XFireFault.SENDER); } }else{ throw new Exception(); } }else{ throw new Exception(); } } catch (Exception e) { throw new org.codehaus.xfire.fault.XFireFault("非法的用户名、密码或IP",org.codehaus.xfire.fault.XFireFault.SENDER); } } 
  ,string>
 
 ,string>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读