User Authorization in the StdLib

The Stdlib defines whether a value/state of a certain elementary symbol (referenced via a datapoint element) in the faceplate is only visualized for the library user (read access) or if the user can also change this value/state (write access).

The authorizing concept in the Stdlib depends on the authorization that was configured in the WinCC OA user administration (see the WinCC OA online help under System Management -> Authorization levels). The authorizing concept in the Stdlib can de divided up in three levels.

  1. The project HOOK function hook_hasUserAuthorization() is called. It returns 1, if the user has the necessary authorization, 0 if the user has no authorization, or < 0 if the HOOK function was not implemented.

  2. If the HOOK function hook_hasUserAuthorization() was not implemented, the corresponding datapoint element (to which the elementary symbol references) is checked, to see whether the authorization datapoint config _auth is available. If it is available, the corresponding authorization level is checked.

  3. If the authorization datapoint config _auth is not available, the authorization test takes place via the node name of the data point (see table below). This applies to datapoint elements located under the nodes alarm/cmd/command/para/state/. These nodes belong to the StdLib datapoint type structure. For how to create an StdLib datapoint type - see chapter How to Create Datapoint Types for the StdLib.

The user must possess the following authorization levels (bits) in order to access the datapoint elements:

Node Name Authorization bit Authorization
ALM or alarm 5 Allows the acknowledgement of alerts.
STA or state 2 Normal operator authorization
CMD or command 2 Normal operator authorization
PAR or para 3 Advanced operator authorization: permits execution of commands, explicit setting of replacement values, input of correction values as well as changes to all value range types.

If the user does not have the necessary authorization bit, then the values/states of the datapoint element in the faceplate are only visualized - the associated elementary symbol is inactive.