Shared local server

A shared local server is a local server which is fully accessible from the host which has created it and which needs authentication from outside.

The local engine is shared through a Spring HTTP service and is secured using Spring Security.

It is deployed using a local embedded Jetty server.

Server

Port and context path are read from preferences. They must be configurable by the user.

Web descriptor

The web descriptor contains:

  • the web application context is declared as a servlet context attribute at WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
  • a springSecurityFilterChain filter that declares the DelegatingFilterProxy Spring filter, associated with the web application context which is published in WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE servlet context attribute.
  • a DispatcherServlet Spring dispatcher servlet, associated with the application context at sc/shared/SCDispatcherWeb.xml

Web application context

The web application context which is published by the embedded web application is a hierarchical chain of application contexts:

  1. sc/shared/SCDispatcherWeb.xml context which is used as front-end context by the DispatcherServlet. It contains the export of the SharedEngine bean using a HttpInvokerServiceExporter on the /engine servlet path.
  2. a generic web application context that is used only a web-compliant application context wrapper. This is the one which is published as the servlet context application context.
  3. sc/shared/SCSharedWeb.xml context which is used to declare:
    • Acegi HTTP filters
    • Security configuration
    • The SharedEngine as being wrapped by the EngineContainer factory and declaring the security constraints
  4. a generic application context that declares only EngineContainer bean that wraps the current SharedLocalEngine engine
  5. finally, at the top of the hierarchy, the current application context the application in running in
 
demo/sc/shared_local_server.txt · Last modified: 2009/07/13 02:18 by damien
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki