Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Jasig would like to rewrite the existing web proxy portlet as modern, Spring-based portlet project.  This portlet could furthermore also serve as a more general content transformation portlet, replacing the historical XSLT channel.

Potential Transformation Types

  • Web Proxy: Web Proxy can be viewed as a simple transformation type where the end output is similar to the input.  Web proxy might still be subject to a content transformation pipeline that includes HTML validation, content clipping, etc.   This pipeline might use HttpClient and OWASP AntiSamy.
  • XSLT: Transform source XML using an XSLT.
  • JSON: Deserialize JSON using the Jackson Library into a Java Map object, then transform into HTML using the configured Spring view name.

Technology

  • SpringMVC
  • HttpClient4 for requesting remote content
  • OWASP AntiSamy for validating remote content
  • NekoHTML for parsing HTML into processable SAX events
  • Jackson for JSON deserialization
  • Standard JDK classes for XSLT transformation

Features

  • Pluggable authentication
    • Form-based credential replay
    • Proxy-CAS
    • Delegated SAML
    • Certificate?
  • Proxying of embedded web resources, including CSS, JS, and images
  • HTML Clipping
  • Support regex-y whitelist of URLs to be proxied
    • Actual re-written URLs should be tracked in session to prevent exploiting poorly written whitelists and turning them into proxy vulnerabilities
  • Ability to load source content from the filesystem in addition to requesting remote web content
  • Mechanism for adding user attributes / other interesting dynamic parameters to initial URL
  • Optionally cache content and persist cookies in a database
  • Ability to add HTTP headers
  • Ability to re-write proxied CSS to scope the included CSS to just the proxied content

 

 

  • No labels