In user administration, you group all users together who have the same user profile into user groups, such as "administrators", "internal users" or "external users":
User administration enables you to increase your host access security because users must already identify themselves at the front-end LogWeb/Ajax server. The server not only acts as an application firewall in front of your host system but also filters out unauthorized login attempts.
An "empty user administration service" is preconfigured and comes standard; you can use this immediately for initial tests:
For system operation, you have the following options:
Note:
Whatever you decide, we will be pleased to assist and support you with any required customizations.
As delivered, the directory
userdb
contains examples for defining user files and group files that you activate by entering the corresponding basic settings:
UserDatabase = file UserProfiles = userdb/empty/users GroupProfiles = userdb/empty/groups
UserDatabase = logweb UserProfiles = //logweb73/server/config/user GroupProfiles = userdb/logweb/groups
UserDatabase = ldap # UserProfiles not used GroupProfiles = userdb/ldap/groups
UserDatabase = file UserProfiles = userdb/extern/users GroupProfiles = userdb/extern/groups
The common template directories for these examples are found in userdb/data:
UserData = userdb/data/userdata GroupData = userdb/data/groupdata
Note:
You make basic settings for user administration in the central configuration file WEB-INF/ajax.ini:
Parameter | Meaning |
---|---|
UserDatabase |
Determines the format of user administration:
|
UserProfiles |
Directory path to the user profiles USER.ini
|
GroupProfiles |
Directory path to the group profiles GROUP.ini
|
Note that changes to this file are only applied after the Web application is restarted. However, you can create, change, or delete profile files for users and groups during operation.
Even if you do not require user administration, do not want to use LOG-WEB user administration, or do not want to integrate another external user administration service, you must specify the path to the user and group profiles because the system then searches for pseudo-files instead for better control.
Note the following when specifying directory paths:
A few attributes can only be specified in user files or in group files. However, you can assign most attributes for individual users as well as user groups:
Attribute | Meaning |
---|---|
_WriteUser | Indicates if the user has write access to his or her user directory.
|
_WriteGroup | Indicates if the user has write access to his or her group directory.
|
ChangePassword | Indicates if the user is allowed to create, change, or delete his or her password.
|
_ChangeGroup | Indicates if the user can change his or her group membership at the start of a session.
|
In special cases, you can also assign the following attributes:
Attribute | Meaning |
---|---|
_CookieMaxAge |
Determines the validity period of the login cookie (value in seconds).
|
_UseSessionID | Determines the identifier that is sent to the server for read access to files.
|
_AJAX_XXX | If required, you can enter other "free" parameters that are transmitted to the session and can be evaluated using your own macros. |
Note:
In special cases, you may use mainframe connections (3270, 5250 and 9750) but do not want to use the LOG-WEB user administration.
In these cases, you can also pass special parameters to the LOG-WEB server in addition to the standard attributes:
Attribute | Meaning |
---|---|
StationName |
Station name (LU name) of the dialog terminal.
|
PrinterName |
Station name (LU name) of the printer.
|
LOGWEB_XXX | Passes any parameter XXX and its value for the LOG-WEB server to evaluate.
|
With the parameter UserProfiles in the basic settings, you specify the path to your user files. For each authorized user, you create a text file in this directory using the corresponding user name, for example, meier.ini.
Note:
Special entries in user files:
Attribute | Meaning |
---|---|
Group
or _Group |
Name of the user group for this user.
Mandatory, except in the pseudo user file _ANY_.ini.
|
Password | Optional: encrypted password for this user.
|
_User | Special case for redirects: Assigns another user name.
|
As an exception, you can also enter general attributes that give individual users priority over your attributes in the group file.
Example of a simple user file:
# user profile extern.ini Group = extern Password = 19A7..
You can find other examples under Configuration examples.
You use the GroupProfiles parameter to specify the path to your group files. For each user group, you create a single text file in this directory under the corresponding user name, for example extern.ini.
Note:
In the group file, you can specify the general attributes mentioned previously. These are then valid for all users of this group, as long as they are not revoked in the user parameters.
Special entries in group files:
Attribute | Meaning |
---|---|
_Group | Special case for redirects: Assigns another group name.
|
_AutoCreateGroup | Special case: Automatically creates a missing group profile. |
Example of a group file:
# group profile extern.ini _WriteUser = true ChangePassword = true
You can find other examples under Configuration examples.
The pseudo user file _ANY_.ini is always used if an unknown user name is entered during login.
The pseudo user file _ANY_.ini is used for an existing external user administration tool:
# pseudo user file _ANY_.ini accepts any user name from external service # no individual user profile created
The pseudo user file _DEFAULT_.ini is always used if no user name is entered during login.
For example, the user file _DEFAULT_.ini is used to implement an empty user administration service, where it redirects to an (existing) default user:
# pseudo user file _DEFAULT_.ini accepts missing user name and redirects to user "default" _User = default
For example, the pseudo group file _ANY_.ini is used to connect to an existing LOG-WEB or external user administration service:
# pseudo group file _ANY_.ini accepts any group name # note: user profiles are accessed via LOG-WEB server _WriteUser = true
The pseudo group file _DEFAULT_.ini is always used if no user name is entered during login.
The pseudo group file _DEFAULT_.ini is used if an external user administration tool does not provide a group name and redirects to an existing default group:
# pseudo group file _DEFAULT_.ini accepts missing group name # redirects to group "default" _Group = default
If you want to work without using a user administration tool, you must enter "empty" parameters. The configuration example userdb/empty is already provided with the basic settings.
UserDatabase = file UserProfiles = userdb/empty/users GroupProfiles = userdb/empty/groups
This configuration example is pre-configured and contains a empty sample user administration service. The configuration can be used immediately for initial tests:
The directory userdb/empty contains the following profile files for this purpose:
Meaning of profile filesuserdb | +-- empty | +-- users | | _DEFAULT_.ini | | _User = default | | default.ini | | _Group = default | | admin.ini | | _Group = admin | | | \-- groups | default.ini | _CookieMaxAge = 0 | _WriteUser = true | admin.ini | _WriteUser = true | _WriteGroup = true | _ChangeGroup = true | _ChangePassword = true ...
# pseudo user file _DEFAULT_.ini accepts missing user name # redirects to (existing global) user "default" _User = defaultMeaning:
# global user profile default.ini Group = defaultMeaning:
# global group profile default.ini has all (possible) privileges _CookieMaxAge = 0 _WriteUser = trueMeaning:
For tests, the empty user administration service also has an "admin" user with special rights:
# user profile admin.ini has special privileges Group = adminMeaning:
# group profile admin.ini has special privileges _WriteUser=true _WriteGroup=true _ChangeGroup=true ChangePassword=trueMeaning:
userdb | +-- data | +-- groupdata // group data | | \-- admin // only for admin group | | \-- _login // connection templates | | 3270-offline.ini | | 5250-offline.ini | | 9750-offline.ini | | sinix-offline.ini | | telnet-online.ini | | unix-offline.ini | | vt-offline-trcselect.ini | | | \-- userdata // no user data ...
If required, you can expand this example to create and implement a complete user administration tool:
If you have already set up LOG-WEB user administration, you can continue using this without problems. To do this:
In the basic settings, for UserDatabase, enter "logweb" as the type:
UserDatabase = logweb
This enables the login name to be forwarded to LOG-WEB and also enables LOG-WEB to perform the corresponding tests.
In the basic settings, for UserProfiles, enter your LOG-WEB user directory, for example:
UserProfiles = c:/logweb73/server/config/user
During login, the system searches in this directory for a user file with the corresponding user name.
During login, user administration extracts the following parameters from the LOG-WEB user files:
In addition to the LOG-WEB parameter
Group = group/demo.ini
if you also enter
_Group = admin
the corresponding user still belongs to the demo group in LOG-WEB but has the admin group
profile for LogWeb/Ajax.
If required, you can also enter
_WriteGroup = true
to allow the user to modify his or her group configuration as an exception.
The configuration example userdb/logweb provided shows an example of how LOG-WEB user administration is integrated:
userdb | +-- logweb | \-- groups | _ANY_.ini | _AutoCreateGroup = true | _WriteUser = true ...
# pseudo group file _ANY_.ini accepts any group name # note: user profiles are accessed via LOG-WEB server _AutoCreateGroup = true _WriteUser = trueMeaning:
Note:
If you manage your users in a LDAP or ActiveDirectory server, you can use these servers for LogWeb/Ajax as well.
In the basic settings, for UserDatabase enter the type "ldap":
UserDatabase = ldap GroupProfiles = userdb/ldap/groups
This enables the login name to be forwarded to the LDAP or ActiveDirectory server and also enables this server to perform the corresponding tests.
Since LogWeb/Ajax does not support the membership of a user in multiple groups, you use the supplied sample configuration userdb/ldap:
userdb | +-- ldap | \-- groups | _DEFAULT_.ini | _Group = default | default.ini | _CookieMaxAge = 0 | _WriteUser = true ...
With this, all users are assigned to the group "default".
LDAP or ActiveDirectory server access is configured in the file WEB-INF/LdapConfig.ini with the following properties:
Attribute | Meaning |
---|---|
de.logics.logwebAppV3.login.LdapSpi |
Java class name implementing LDAP or ActiveDirectory server access.
Default Setting: Please do not modifiy!de.logics.logwebAppV3.login.LdapExample |
domain.server.url | URL of the domain server.
Example: ldap://my.company.com:389 |
domain.fast.binding | A value of "true" enables "fast binding" for connecting to the domain server. |
domain.return.attributes | Comma or space separated list of attributes to be returned.
Example: cn, sAMAccountName |
global.server.url | URL of the global catalog.
If missing, domain.server.url will be used instead. |
global.username | User name for connecting to the global catalog. |
global.password | Password for connecting to the global catalog. |
global.search.base | Base directory of the users in the global catalog.
Example: DC\=company,DC\=com |
global.search.filter | Filter for seaarching for users in the global catalog.
The string ${username} will be replaced by the supplied user name.
Example: (&(objectClass\=user)(|(cn\=${username})(sAMAccountName\=${username}))) |
Please prefix all equal signs = in parameter values by a back slash \.
Example:
# LDAP configuration file # Classname of LDAP Service Provider Implementation de.logics.logwebAppV3.login.LdapSpi = de.logics.logwebAppV3.login.LdapExample # Configure access to the domain server domain.server.url = ldap://my.company.com:389 domain.fast.binding = false domain.return.attributes = cn, sAMAccountName # Configure access to the global catalog global.server.url = ldap://my.company.com:3268 global.username = Administrator global.password = Kennwort global.search.base = DC\=company,DC\=com # ${username} will be replaced by the supplied user name global.search.filter = (&(objectClass\=user)(|(cn\=${username})(sAMAccountName\=${username})))
Please contact our support team for more configuration details. The documentation and an example Java implementation of the interface is available on request.
If you already use another user administration service, for example, through portal integration or services such as LDAP and ActiveDirectory, you can integrate the service here.
The simplest way to do this is by integrating the user and group names that are checked by the external service, as is shown in the configuration example userdb/extern:
userdb | +-- extern | +-- users | | _ANY_.ini | | // no content | \-- groups | _ANY_.ini | _ChangeGroup = true | _WriteUser = true ...
# pseudo user file _ANY_.ini accepts any user name from external service # creates individual user data "on the fly" # no individual user profile createdMeaning:
# pseudo group file _ANY_.ini accepts any group name from external service _ChangeGroup = true _WriteUser = trueMeaning:
# pseudo group file _DEFAULT_.ini accepts missing group name from external service # redirects to existing group "default" _Group = defaultwhich redirects to an existing global group default.ini:
# global group profile default.ini has default privileges _WriteUser = true
The prerequisite is that all users can only access LogWeb/Ajax after they have been checked by the external service.
Alternatively, closer integration can be achieved by using the LogWeb/Ajax login interfaces. Contact us to discuss your requirements, we will be pleased to support you in planning and implementing this task.