Introduction
Handler is a layer that determines how incoming requests should be handled by Penrose.
Built-in Handlers
Penrose comes with several built in handlers:
- Default
- Proxy
- Simple
The default handler is the handler used by Penrose by default. It handles all mapping configuration except proxy proxy mapping.
The proxy handler is used to handle proxy mapping.
The simple handler is designed for speed. This handler bypasses many operations done by the default handler, so it has many limitations:
- It only handles basic mapping.
- It doesn't support in-memory cache.
- It doesn't support expressions.
- It doesn't re-evaluate LDAP filter in search results.
- It doesn't pre-fetch LDAP entries.
Configuration
You can define handlers in PENROSE_SERVER_HOME/conf/server.xml.
<server>
<handler name="...">
<handler-class>...</handler-class>
</handler>
</server>
Usage
By default everything will use the DEFAULT handler specified in server.xml. To use a specific handler for an entire partition, specify the handler name in the partition definition in server.xml. See the following example:
<partition name="MyPartition" path="partitions/MyPartition"> <handler-name>SIMPLE</handler-name> </partition>
To use a specific handler for a particular entry, specify the handler name in the entry in mapping.xml. See the following example:
<entry dn="dc=Example,dc=com">
<handler>PROXY</handler>
</entry>
