1. Default User

Both PI2 and PI3 systems support the concept of connecting without specifying a user name and password and obtaining some limited default access. The PI-SDK does not exploit this form of connection but rather, when a connection to a server is required and no user name is provided, it employs a default user associated with the server. This default user name is specified when a server is first added to the client machine's Known Servers Table and can be changed programmatically. Changing the default user to blanks or nothing is not supported. Adding a server without specifying a default user will result in the default user name "pidemo" being used, which may or may not be supported on the server. For this reason it is advisable to always specify a default user when adding a server to the Known Servers Table.

Connecting to a server as the default user can add convenience for users but can also compromise security if blank passwords are used. When attempting to connect to a server, the PI-SDK uses information provided in the connection string passed to the Server.Open method, or if needed information is not provided there, it will use defaults from the Known Servers Table. Default user information is available; however, passwords are not stored in the Known Servers Table. Attempting a connection without providing a password will only succeed if the user's password is blank (the blank is sometimes referred to as a default password). For systems where security is not an issue, having a blank password for a PI Server's default user, allows connection without calling Open (see auto-connection below) or calling Open with no arguments and succeeding. In practice this means you can avoid showing login dialogs as applications are launched. The downside of this approach is that anyone with access to a machine with default users configured in this way, or someone who knows a default user name and has access to a PI application or programming library, can connect to the server with the rights and privileges assigned to that default user. If default users with blank passwords are used it is important that the privileges of these users be managed.

Enabling Operational Intelligence