1 package com.sslexplorer.agent; 2 3 4 import com.sslexplorer.security.User; 5 6 7 /** 8 * Not all <i>Agent Extensions</i> are appropriate for all platforms and environments. For 9 * example, the <i>Enterprise Drives<i> extension only currently works on Windows and so 10 * should not be allowed to downloaded and used on other platforms. 11 * <p> 12 * When the agent is launched, implementations of this verifier classes are invoked to 13 * check whether the connecting agent is <i>allowed</i> the extension. This is usually 14 * done by checking the <i>clientProperties</i> attribute passed in to 15 * {@link #verifyAccess(String, User)}. The extension may then use stuff 16 * like <i>os.name</i> to make the descision. 17 * 18 * @author Lee David Painter <a HREF="mailto:lee@3sp.com"><lee@3sp.com></a> 19 * @see AgentExtensionDefinition 20 */ 21 public interface AgentExtensionVerifier { 22 23 /** 24 * Verify that the requested agent extension is allowed for the agent 25 * requesting it. 26 * 27 * @param agentExtension agent extension ID 28 * @param user username 29 * @param clientProperties selected system properties from the client 30 * @return agent allowed to use extension 31 */ 32 public boolean verifyAccess(String agentExtension, User user); 33 } 34