Login

Every application must have a login module defined. Jarvis offers half a dozen login modules to handle commonly used situations. You can easily add your own by copying and modifying the supplied defaults.

Modules

Jarvis uses a pluggable login module mechanism. The following modules are provided in the installed Jarvis lib directory:

All modules are configured by a login element with the following parameters:

Attribute Default Notes
module (none) Full name of the module to load, e.g. Jarvis::Login::None.
lib (none) Optional base library directory in which to find the module.
Note that the default_libs are also searched.
parameter (none) One or more sub-parameters with name and value attributes.
require_post no If true, prevent usage of URL parameters username/password for login purposes.

Setting require_post to yes is recommended to avoid logging of username/password as part of the request URL.

Group Mappings

Each login module may specify a mapping of groups that can be used to map differing system groups to static groups that front end applications require a translation too.

<jarvis>
    <app>
        <login module="Jarvis::Login::<LoginModule>">
            <group_mappings>
                <group_mapping from="preprod_read"  to="read"/>
                <group_mapping from="preprod_write" to="write"/>
            </group_mappings>
        </login>
        ...

In our above example different groups may be returned by our login module for different environments such as differences between production, pre-production and test environments.

The group mapping functionality allows for the configurable inclusion of generic groups that are mapped added based on the groups provided by initial login group list return.