|
The #Password object provides a password management function. Up to 32767 authorization levels can be implemented with the password management function. Each object can be assigned a specific password level using the PWL=<level> option. The password level after a program start is 0. Entering the master password (Option: Master_PW=<x>) sets the highest authorization level (32767). Passwords with appropriate authorization levels 1, 2, ... can be defined with the system variables /S/APP/password_1, /S/APP/password_2, ... of type WSTRING. The PWL=<x> button action enables the current authorization level to be reset, for example when leaving a screen page.
Access is allowed if the current password level >= the PWL option of the object.
Parameters
Object
Action
Column K
|
M/O
|
Default
|
Description
|
|
O
|
|
Password-protected objects are visible but are inactive (disable)
|
#Page=<name>
|
O
|
|
Screen page change to screen page <name> if a password protected object is actuated (normally the page which contains the password input dialog). If the password is successfully entered, the action of the password-protected object is NOT automatically executed.
Password-protected objects are visible and active.
|
Off
|
O
|
|
Password-protected objects are invisible and are inactive (off)
|
ActionLimit1
Column N
|
M/O
|
Default
|
Description
|
#Page=<name>
|
|
|
Screen page change to screen page <name> after the password is entered incorrectly (only in conjunction with #Page=<name> action)
|
VarValue
Column P
|
M/O
|
Default
|
Description
|
Variable
|
M
|
|
Variable with actual password
|
VarType
Column Q
|
M/O
|
Default
|
Description
|
WSTRING
|
M
|
|
WString data type
|
Option
Column S
|
M/O
|
Default
|
Description
|
Bitwise=AND
|
O
|
|
PWL is interpreted bitwise and not according to the value of the authorization level
|
Master_PW=<password>
|
O
|
|
Definition of the master password: Password with highest authorization level
|
Timeout=<min>
|
O
|
0 (inactive)
|
<min> Time as constant or numerical variable in minutes without touch event until the current authorization is automatically reset (PWL=0)
|
Keep_PWL
|
O
|
|
Keep active authorization level after wrong password input
|
Option Bitwise=AND
With this option it is possible to use the 15 bits of the PWL for 15 authorization levels which can be configured to access the functions in a matrix.
System variables password_1, password_2, ... of type WSTRING can be used to define passwords for the relevant authorization levels 1 (Bit0=1), 2 (Bit1=1), ....
The current PWL is ANDed with the object-specific PWL:
Access allowed if: (current PWL AND PWL option) > 0
Example
PasswordBit
|
…
|
-bit3
|
-bit2
|
-bit1
|
-bit0
|
|
EPAM project
|
Curr. PWL
|
|
8
|
4
|
2
|
1
|
|
PWL option
|
Function/level
|
|
Master
|
Service
|
Technician
|
Operator
|
|
|
Screenpage1
|
|
1
|
0
|
0
|
1
|
à
|
9 (=0x09)
|
Screenpage2
|
|
1
|
0
|
1
|
0
|
à
|
10 (=0x0A)
|
Screenpage3
|
|
1
|
1
|
0
|
1
|
à
|
13 (=0x0D)
|
...
|
|
|
|
|
|
|
|
The service has access to Screenpage3, but not Screenpage 2 and 1.
The operator has access to Screenpage1 and 3, but not to Screenpage2.
At the login the current PWL is set accordingly (e.g. Service Bit2=1 -> PWL=4). This makes all objects accessible that have Bit 2 = 1 in the PWL option.
System variables
Difference to EPAM3
| • | Calculation of the password from day and month (day * month + day) currently not implemented. |
| • | Option SysPW=Off not implemented |
|