electric.servlet.authorizers.siteminder
Class SiteMinderAuthorizer

java.lang.Object
  extended byelectric.servlet.authorizers.siteminder.SiteMinderAuthorizer
All Implemented Interfaces:
IEXMLLoggingConstants, IGLUELoggingConstants, IHTTPAuthorizer, IHTTPConstants, ILoggingConstants

public class SiteMinderAuthorizer
extends java.lang.Object
implements IHTTPAuthorizer, IHTTPConstants, IGLUELoggingConstants

SiteMinderAuthorizer is an implementation of a SiteMinder custom agent. It uses a SiteMinder policy server to authenticate and authorize access to resources instead of using the security configuration from web.xml

This implementation is GAIA-specific, since it knows (guesses) about the mapping from GAIA url's to actual resource names. It requires that the SiteMinder rules be configured to know that GAIA is the agent, instead of the agent on the final endpoint server.

Author:
webMethods

Field Summary
 
Fields inherited from interface electric.util.http.IHTTPConstants
ACCEPT_LANGUAGE, ACCEPT_RANGES, APPLICATION_BINARY, APPLICATION_OCTET_STREAM, ASCII, AUTHORIZATION, BASIC, BOUNDARY, CHARSET_EQUALS, CHUNKED, CLOSE, COLON_SLASH_SLASH, CONNECT, CONNECTION, CONTENT_ID, CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_LOCATION, CONTENT_TYPE, CONTINUATION_STATUS, CONTINUE_EXPECTATION, COOKIE, COOKIE_LISTENER, DATE, DEFAULT_CONTENT_TYPE, DEFAULT_HTTP_CHARSET, DEFAULT_HTTPS_PORT, DEFAULT_MIME_TYPE, DEFAULT_PROXY_PORT, DIGEST, EOL, EXPECT, EXPECT_HEADER, FORM_URLENCODED, GET, GLUE_SESSION, HEAD, HOST, HTTP_1_0, HTTP_1_1, HTTP_PROTOCOL, HTTPS_PROTOCOL, IF_MODIFIED_SINCE, KEEP_ALIVE, LAST_MODIFIED, LOCATION, MD5_HASH, MIME_BOUNDARY, MIME_VERSION, MULTIPART_CONTENT_TYPE, OK, POST, PROXY_AUTHORIZATION, RANGE, SC_CONTINUE, SC_MOVED, SC_MOVED_PERMANENTLY, SC_OK, SC_PROXY_AUTHENTICATION_REQUIRED, SC_UNAUTHORIZED, SEPARATOR, SERVER, SERVER_PREFIX, SERVER_TYPE, SET_COOKIE_0, SET_COOKIE_1, SLASH, START, TEXT_HTML, TEXT_PLAIN, TEXT_XML, TEXT_XML_UTF_8, TRANSFER_ENCODING, USER_AGENT, WWW_AUTHENTICATE
 
Fields inherited from interface electric.glue.IGLUELoggingConstants
CLUSTER_DEBUG_EVENT, CLUSTER_EVENT, CONSOLE_DEBUG_EVENT, DEPLOY_EVENT, DETECTORS_EVENT, HTTP_EVENT, JMS_EVENT, REBINDING_EVENT, SECURITY_DEBUG_EVENT, SECURITY_DETAIL_EVENT, SERVLET_EVENT, SOAP_EVENT
 
Fields inherited from interface electric.xml.IEXMLLoggingConstants
MAPPING_EVENT, SCHEMA_EVENT
 
Fields inherited from interface electric.util.log.ILoggingConstants
CLASSLOADER_EVENT, COMMAND_EVENT, COMMENT_EVENT, CONFIG_EVENT, DEBUG_EVENT, ELECTRIC_LOGGING_PROPERTY, ERROR_EVENT, EXCEPTION_EVENT, FILE_EVENT, LICENSE_EVENT, RESOURCES_EVENT, SECURITY_EVENT, SHUTDOWN_EVENT, SOURCE_EVENT, SQL_EVENT, STARTUP_EVENT, WARNING_EVENT
 
Constructor Summary
SiteMinderAuthorizer()
           
 
Method Summary
 boolean authorize(InboundHTTPRequest request, OutboundHTTPResponse response, java.lang.String relativePath, electric.servlet.security.SecurityConstraint securityConstraint)
           
 void connect()
          Connect to the SiteMinder Policy Server at the given IP address.
 int getAccountingPort()
           
 java.lang.String getAgentName()
           
 int getAuthenticationPort()
           
 int getAuthorizationPort()
           
 java.lang.String getPolicyServerAddress()
           
 java.lang.String getSharedSecret()
           
 void init()
           
static void printAttributes(long logChannel, netegrity.siteminder.javaagent.AttributeList attributes)
           
static void printSession(long logChannel, netegrity.siteminder.javaagent.SessionDef session)
           
 void setAccountingPort(int accountingPort)
           
 void setAgentName(java.lang.String agentName)
           
 void setAuthenticationPort(int authenticationPort)
           
 void setAuthorizationPort(int authorizationPort)
           
 void setPolicyServerAddress(java.lang.String policyServerAddress)
           
 void setSharedSecret(java.lang.String sharedSecret)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SiteMinderAuthorizer

public SiteMinderAuthorizer()
Method Detail

init

public void init()

getPolicyServerAddress

public java.lang.String getPolicyServerAddress()

setPolicyServerAddress

public void setPolicyServerAddress(java.lang.String policyServerAddress)
Parameters:
policyServerAddress -

getAuthorizationPort

public int getAuthorizationPort()

setAuthorizationPort

public void setAuthorizationPort(int authorizationPort)
Parameters:
authorizationPort -

getAuthenticationPort

public int getAuthenticationPort()

setAuthenticationPort

public void setAuthenticationPort(int authenticationPort)
Parameters:
authenticationPort -

getAccountingPort

public int getAccountingPort()

setAccountingPort

public void setAccountingPort(int accountingPort)
Parameters:
accountingPort -

getAgentName

public java.lang.String getAgentName()

setAgentName

public void setAgentName(java.lang.String agentName)
Parameters:
agentName -

getSharedSecret

public java.lang.String getSharedSecret()

setSharedSecret

public void setSharedSecret(java.lang.String sharedSecret)
Parameters:
sharedSecret -

connect

public void connect()
Connect to the SiteMinder Policy Server at the given IP address.


authorize

public boolean authorize(InboundHTTPRequest request,
                         OutboundHTTPResponse response,
                         java.lang.String relativePath,
                         electric.servlet.security.SecurityConstraint securityConstraint)
                  throws java.io.IOException
Specified by:
authorize in interface IHTTPAuthorizer
Parameters:
request -
response -
relativePath -
securityConstraint -
Returns:
false if the authorizer handled the response, true if processing should continue.
Throws:
java.io.IOException

printAttributes

public static void printAttributes(long logChannel,
                                   netegrity.siteminder.javaagent.AttributeList attributes)
Parameters:
logChannel -
attributes -

printSession

public static void printSession(long logChannel,
                                netegrity.siteminder.javaagent.SessionDef session)
Parameters:
logChannel -
session -


copyright© 2001-2004 by webMethods All Rights Reserved.