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:
ad_user
ad_user_roles
ad_role
ad_window_access
ad_process
ad_process_access
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:
role-<role_name>
For each active user role.read-<window_name>
For each active window access (read access)write-<window_name>
For each active window access (write access), and any processes the user has access to.
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:
__ad_user_id
__ad_client_id
__ad_org_id
__ad_session_id
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.