// AuthUserPrincipal.java // $Id: AuthUserPrincipal.java,v 1.3 2012/06/16 15:48:44 ylafon Exp $ // (c) COPYRIGHT MIT, INRIA and Keio, 1999. // Please first read the full copyright statement in file COPYRIGHT.html package org.w3c.jigsaw.acl; import java.net.InetAddress; import java.util.Hashtable; import org.w3c.jigsaw.auth.AuthUser; import org.w3c.jigsaw.auth.IPMatcher; /** * @author Benoît Mahé (bmahe@w3.org) * @version $Revision: 1.3 $ */ public class AuthUserPrincipal implements AclPrincipal { protected String name = null; protected String password = null; protected String realm = null; protected Hashtable values = null; protected IPMatcher ipmatcher = null; public boolean equals(Object another) { if (another instanceof AuthUserPrincipal) { return toString().equals(another.toString()); } else { return another.equals(this); } } public String toString() { if (password == null) return name; else return name + ":" + password; } public int hashCode() { return toString().hashCode(); } public String getName() { return name; } public String getRealm() { return realm; } public String getPassword() { return password; } public void setValue(String name, Object value) { values.put(name, value); } public Object getValue(String name) { return values.get(name); } public boolean matchIP(InetAddress adr) { return (ipmatcher.lookup(adr) == Boolean.TRUE); } public AuthUserPrincipal(AuthUser user, String realm) { this.name = user.getName(); this.password = user.getPassword(); this.realm = realm; this.ipmatcher = new IPMatcher(); this.values = new Hashtable(); short ips[][] = user.getIPTemplates(); if (ips != null) { for (short[] ip : ips) { ipmatcher.add(ip, Boolean.TRUE); } } } }