Adempiere

This module performs username and password lookup in the configured Adempiere database. Currently this module supports login for only a single client and organization.

The following tables are referenced:

Example:

<jarvis>
    <app>
        <login module="Jarvis::Login::Adempiere">
            <parameter name="client_name" value="MyClientName"/>
            <parameter name="org_name"    value="MyOrgName"/>
        </login>
        ...

The parameters are:

Attribute Default Notes
dbname default The name of the database connection to use.
client_name (none) [Required] Name of the single Adempiere client (table ad_client) for whom we allow login via this method.
org_name (none) [Required] Name of the single Adempiere organization (table ad_org) for whom we allow login via this method.
reverse_dns No Should we perform reverse DNS to fill the remote_host field in the ad_session table. In some cases reverse DNS can be very slow.
relevant_groups (none) A comma-separated list of the groups relevant to the application. Adempiere provides a large number of groups, and this parameter can be used to alter the group-list for each user to a smaller subset of their groups. Wildcard * is supported.
allowed_groups "" Comma-separated list of groups. If specified, restricts login to users with group in allowed groups. Checked after filtering for relevant groups. Wildcard * is supported.

The determined group list is a long comma-separated string where each of the many elements is either:

All spaces and special characters are stripped from the role name and window names.

So for window My Window, your corresponding dataset is likely to have access settings

read="read-MyWindow,write-MyWindow" write="write-MyWindow"

Note: When this module is used to login, any dataset requests will also have access to the following additional variables:

These variables contain the corresponding numeric ID values found to match the configured client_name and org_name parameters. These variables can be accessed in a dataset e.g. by specifying {$__ad_client_id}. These are “safe” variables in the same sense as e.g. the __username variable in that they are set purely by Jarvis and cannot be set or modified by the remote client.