com.tinkerpop.rexster.filter
Class AbstractSecurityFilter

java.lang.Object
  extended by org.glassfish.grizzly.filterchain.BaseFilter
      extended by com.tinkerpop.rexster.filter.AbstractSecurityFilter
All Implemented Interfaces:
com.sun.jersey.spi.container.ContainerRequestFilter, org.glassfish.grizzly.filterchain.Filter
Direct Known Subclasses:
DefaultSecurityFilter

public abstract class AbstractSecurityFilter
extends org.glassfish.grizzly.filterchain.BaseFilter
implements com.sun.jersey.spi.container.ContainerRequestFilter

Provides authentication for Rexster for all services: RexPro, REST, and Dog House.

This is a bit of sketchy implementation of two semi-related bits of Grizzly/Jersey. Trying to unify the implementation of security within the system for RexPro/REST/Dog House. Could be a better way to do this, but it's not clear just yet.


Nested Class Summary
 class AbstractSecurityFilter.Authorizer
           
 class AbstractSecurityFilter.User
           
 
Field Summary
protected  javax.servlet.http.HttpServletRequest httpServletRequest
           
protected  javax.servlet.ServletConfig servletConfig
           
protected  javax.ws.rs.core.UriInfo uriInfo
           
 
Constructor Summary
AbstractSecurityFilter()
           
AbstractSecurityFilter(org.apache.commons.configuration.XMLConfiguration configuration)
           
 
Method Summary
abstract  boolean authenticate(String user, String password)
          Authenticate the user in whatever way the implementation requires.
abstract  void configure(org.apache.commons.configuration.XMLConfiguration configuration)
          Configure the filter.
 com.sun.jersey.spi.container.ContainerRequest filter(com.sun.jersey.spi.container.ContainerRequest request)
          REST/Dog House based authentication.
abstract  String getName()
          The name of the security filter.
 org.glassfish.grizzly.filterchain.NextAction handleRead(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
          RexPro authentication
 
Methods inherited from class org.glassfish.grizzly.filterchain.BaseFilter
createContext, exceptionOccurred, getFilterChain, getIndex, handleAccept, handleClose, handleConnect, handleEvent, handleWrite, onAdded, onFilterChainChanged, onRemoved
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

uriInfo

@Context
protected javax.ws.rs.core.UriInfo uriInfo

servletConfig

@Context
protected javax.servlet.ServletConfig servletConfig

httpServletRequest

@Context
protected javax.servlet.http.HttpServletRequest httpServletRequest
Constructor Detail

AbstractSecurityFilter

public AbstractSecurityFilter()

AbstractSecurityFilter

public AbstractSecurityFilter(org.apache.commons.configuration.XMLConfiguration configuration)
Method Detail

authenticate

public abstract boolean authenticate(String user,
                                     String password)
Authenticate the user in whatever way the implementation requires.


configure

public abstract void configure(org.apache.commons.configuration.XMLConfiguration configuration)
Configure the filter.

This method will be called multiple times so look to cache the configuration once after the first call.


getName

public abstract String getName()
The name of the security filter.


handleRead

public org.glassfish.grizzly.filterchain.NextAction handleRead(org.glassfish.grizzly.filterchain.FilterChainContext ctx)
                                                        throws IOException
RexPro authentication

Specified by:
handleRead in interface org.glassfish.grizzly.filterchain.Filter
Overrides:
handleRead in class org.glassfish.grizzly.filterchain.BaseFilter
Throws:
IOException

filter

public com.sun.jersey.spi.container.ContainerRequest filter(com.sun.jersey.spi.container.ContainerRequest request)
REST/Dog House based authentication.

Specified by:
filter in interface com.sun.jersey.spi.container.ContainerRequestFilter


Copyright © 2009-2012. All Rights Reserved.