From: <bra...@us...> - 2007-09-18 23:39:42
|
Revision: 1993 http://archive-access.svn.sourceforge.net/archive-access/?rev=1993&view=rev Author: bradtofel Date: 2007-09-18 16:39:45 -0700 (Tue, 18 Sep 2007) Log Message: ----------- INITIAL REV: two BooleanOperator classes for determining if a user is logged in as a user defined in a set, or if they are accessing the wayback from an IPRange. Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/HTTPAuthBooleanOperator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/HTTPAuthBooleanOperator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/HTTPAuthBooleanOperator.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/HTTPAuthBooleanOperator.java 2007-09-18 23:39:45 UTC (rev 1993) @@ -0,0 +1,27 @@ +package org.archive.wayback.authenticationcontrol; + +import java.util.List; + +import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.util.operator.BooleanOperator; + +public class HTTPAuthBooleanOperator implements BooleanOperator<WaybackRequest> { + private List<String> allowedUsers = null; + public boolean isTrue(WaybackRequest value) { + if(allowedUsers == null) { + return false; + } + String currentUser = value.get(WaybackConstants.REQUEST_REMOTE_USER); + if(currentUser == null) { + return false; + } + return allowedUsers.contains(currentUser); + } + public List<String> getAllowedUsers() { + return allowedUsers; + } + public void setAllowedUsers(List<String> allowedUsers) { + this.allowedUsers = allowedUsers; + } +} Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java 2007-09-18 23:39:45 UTC (rev 1993) @@ -0,0 +1,47 @@ +package org.archive.wayback.authenticationcontrol; + +import java.util.List; + +import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.util.IPRange; +import org.archive.wayback.util.operator.BooleanOperator; + +public class IPMatchesBooleanOperator implements BooleanOperator<WaybackRequest> { + private List<IPRange> allowedRanges = null; + private IPRange range = null; + + public List<IPRange> getAllowedRanges() { + return allowedRanges; + } + + public void setAllowedRanges(List<IPRange> allowedRanges) { + this.allowedRanges = allowedRanges; + } + + public boolean isTrue(WaybackRequest value) { + if(allowedRanges == null) { + return false; + } + String ipString = value.get(WaybackConstants.REQUEST_REMOTE_ADDRESS); + if(ipString == null) { + return false; + } + byte[] ip = IPRange.matchIP(ipString); + return range.contains(ip); +// for(IPRange range : allowedRanges) { +// if(range.contains(ip)) { +// return true; +// } +// } +// return false; + } + + public IPRange getRange() { + return range; + } + + public void setRange(IPRange range) { + this.range = range; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |