i4SCADA Knowledge Base

WCF Security Service Documentation

Abstract

The WCF Security Service handles all the security related operations. This article describes all the available methods.

This WCF web service handles all the security related operations. The following methods are available:

ConnectWithToken

Syntax

ConnectWithToken(string securityToken);

Description

Updates an existing security token with the current session ID

Parameters

  • securityToken (string) - the security token returned by the Login() method

Return Value

The SecuritySessionDTO object, containing:

  • Session (SessionDTO) - the Session data transfer object which contains:

    • SessionId (string) - the id of the new session

    • IsValidLicense (bool) - true if the license is valid for the client

  • SecurityToken (string) - the new security toke with the updated session ID

Login

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

Login(string sessionId, Guid clientId, string userName, string password, bool isDomainUser, int millisecondsTimeOut);

Description

Tries to perform a user login against server or ActiveDirectory. The login will be done in one single operation. If login fails, an exception will be thrown.

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • password (string) - the user password

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A security token which can be used in all subsequent secured operations or an error code if the operation fails. The following error codes can be returned in case of login failure:

  • -4095: User login failed (Login)

  • -4094: No user logged in (Write)

  • -4093: Insufficient user authorizations (Write)

  • -4092: User already logged on (Login)

  • -4091: Invalid user password (Login)

  • -4090: Max user count reached (Login)

  • -4089: Unspecified server error (Login, Write)

  • -4088: Signal is write protected (Write)

Logout

Syntax

Logout(string sessionId, Guid clientId, int millisecondsTimeOut);

Description

Logs out the currently logged in user

Parameters

  • sessionId (string) - the unque ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A true or false depending on the success of the logout operation

LogoutByToken

Syntax

LogoutByToken(string securityToken, int millisecondsTimeOut);

Description

Logs out the currently logged in user using the security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A true or false depending on the success of the logout operation

IsUserLoggedIn

Syntax

IsUserLoggedIn(string securityToken, int millisecondsTimeOut);

Description

Checks if the current user is still logged in

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

True if the current user (identified by the security token) is still logged in; otherwise, false.

GetCurrentLoggedInUser

Syntax

GetCurrentLoggedInUser(string securityToken, int millisecondsTimeOut);

Description

Gets the username of the user that is logged in

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

The UserDTO object, containing:

  • UserName (string) - the name of the user that is logged in at this moment for this securityToken

  • IsDomainUser (bool) - true if the user is an Active Directory user; false if the user is a user

GetCurrentUserAuthorizations

Syntax

GetCurrentUserAuthorizations(string securityToken, int millisecondsTimeOut);

Description

Gets an object which contains all authorizations (both system and project authorizations) for the currently logged in user

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

The UserAuthorizationInfo object, containing the currently logged in user's authorizations:

  • ProjectAuthorizations (IEnumerable<ProjectAuthorizationDTO>) - a list of project authorization data transfer objects

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • SystemAuthorizations (IEnumerable<SystemAuthorizationDTO>) - a list of system authorization data transfer objects, each containing:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • AuthorizationGroups (IEnumerable<AuthorizationGroupDTO>) - a list of authorization group data transfer objects, each containing:

    • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

    • Version (long) -

    • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

    • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

    • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

    • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

    • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

    • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

    • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

GetUserSystemAuthorizations

Syntax

GetUserSystemAuthorizations(string securityToken);

Description

Gets an object which contains all system authorizations for the currently logged in user

Parameters

  • securityToken (string) - the security token returned by the Login() method

Return Value

A list of SystemAuthorizationDTO objects, each containing:

  • id (guid) - the unique id of the system authorization

  • Name (string) - the name of the system authorization

  • Description (string) - the description of the system authorization

CheckSystemAuthorizations

Syntax

CheckSystemAuthorizations(string securityToken, string[] systemAuthorizations, int millisecondsTimeOut);

Description

Checks if the current user has some specific system authorizations

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • systemAuthorizations (string[]) - the list of system authorizations to be verified

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A dictionary which has for each requested authorization a flag which indicates if the user has (or not) that authorization

GetAllSystemAuthorization

Syntax

GetAllSystemAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all system authorizations for a specific user, based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of SystemAuthorizationDTO objects, each containing:

  • id (guid) - the unique id of the system authorization

  • Name (string) - the name of the system authorization

  • Description (string) - the description of the system authorization

GetAllSystemAuthorizationByToken

Syntax

GetAllSystemAuthorizationByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all system authorizations for a specific user, based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of SystemAuthorizationDTO objects, each containing:

  • id (guid) - the unique id of the system authorization

  • Name (string) - the name of the system authorization

  • Description (string) - the description of the system authorization

GetUserProjectAuthorizations

Syntax

GetUserProjectAuthorizations(string securityToken);

Description

Gets an object which contains all project authorizations for the currently logged in user

Parameters

  • securityToken (string) - the security token returned by the Login() method

Return Value

A list of ProjectAuthorizationDTO objects, each containing:

  • id (guid) - the unique id of the system authorization

  • Name (string) - the name of the system authorization

  • Description (string) - the description of the system authorization

CheckProjectAuthorizations

Syntax

CheckProjectAuthorizations(string securityToken, string[] projectAuthorizations, int millisecondsTimeOut);

Description

Checks if the current user has some specific project authorizations

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • projectAuthorizations (string[]) - the list of project authorizations to be verified

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A dictionary which has for each requested authorization a flag which indicates if the user has (or not) that authorization

GetAllProjectAuthorizationByToken

Syntax

GetAllProjectAuthorizationByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all project authorizations based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A list of ProjectAuthorizationDTO objects, each containing:

  • id (guid) - the unique id of the system authorization

  • Name (string) - the name of the system authorization

  • Description (string) - the description of the system authorization

InsertProjectAuthorization

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

InsertProjectAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, ProjectAuthorizationDTO model, int millisecondsTimeOut);

Description

Adds a new project authorization using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (ProjectAuthorizationDTO) - the data transfer object representing the project authorization to be inserted. It should contain:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

InsertProjectAuthorizationByToken

Syntax

InsertProjectAuthorizationByToken(string securityToken, ProjectAuthorizationDTO model, int millisecondsTimeOut);

Description

Adds a new project authorization using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (ProjectAuthorizationDTO) - the data transfer object representing the project authorization to be inserted. It should contain:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateProjectAuthorization

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

UpdateProjectAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, ProjectAuthorizationDTO model, int millisecondsTimeOut);

Description

Updates an existing project authorization using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (ProjectAuthorizationDTO) - the data transfer object representing the project authorization to be inserted. It should contain:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateProjectAuthorizationByToken

Syntax

UpdateProjectAuthorizationByToken(string securityToken, ProjectAuthorizationDTO model, int millisecondsTimeOut);

Description

Updates an existing project authorization using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (ProjectAuthorizationDTO) - the data transfer object representing the project authorization to be inserted. It should contain:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteProjectAuthorization

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

DeleteProjectAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, Guid id, int millisecondsTimeOut);

Description

Deletes an existing project authorization using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • id (guid) - the unique id of the project authorization to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteProjectAuthorizationByToken

Syntax

DeleteProjectAuthorizationByToken(string securityToken, Guid id, int millisecondsTimeOut);

Description

Deletes an existing project authorization using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • id (guid) - the unique id of the project authorization to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

GetAllAccessAuthorization

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

GetAllAccessAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all access authorizations based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of AccessAuthorizationDTO objects, each containing:

  • id (guid) - the unique id of the access authorization

  • Name (string) - the name of the access authorization

  • Description (string) - the description of the access authorization

  • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

  • ComputerName (string) - the computer name

  • IPFilterClassA (byte) - the first byte of the IP address

  • IPFilterClassB (byte) - the second byte of the IP address

  • IPFilterClassC (byte) - the third byte of the IP address

  • IPFilterClassD (byte) - the fourth byte of the IP address

  • IPMaskClassA (byte) - the first byte of the IP mask

  • IPMaskClassB (byte) - the second byte of the IP mask

  • IPMaskClassC (byte) - the third byte of the IP mask

  • IPMaskClassD (byte) - the fourth byte of the IP mask

  • Version (long) -

GetAllAccessAuthorizationByToken

Syntax

GetAllAccessAuthorizationByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all access authorizations based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A list of AccessAuthorizationDTO objects, each containing:

  • id (guid) - the unique id of the access authorization

  • Name (string) - the name of the access authorization

  • Description (string) - the description of the access authorization

  • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

  • ComputerName (string) - the computer name

  • IPFilterClassA (byte) - the first byte of the IP address

  • IPFilterClassB (byte) - the second byte of the IP address

  • IPFilterClassC (byte) - the third byte of the IP address

  • IPFilterClassD (byte) - the fourth byte of the IP address

  • IPMaskClassA (byte) - the first byte of the IP mask

  • IPMaskClassB (byte) - the second byte of the IP mask

  • IPMaskClassC (byte) - the third byte of the IP mask

  • IPMaskClassD (byte) - the fourth byte of the IP mask

  • Version (long) -

InsertAccessAuthorization

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

InsertAccessAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, AccessAuthorizationDTO model, int millisecondsTimeOut);

Description

Adds a new access authorization using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (AccessAuthorizationDTO ) - the data transfer object representing the access authorization to be inserted. It should contain:

    • id (guid) - the unique id of the access authorization

    • Name (string) - the name of the access authorization

    • Description (string) - the description of the access authorization

    • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

    • ComputerName (string) - the computer name

    • IPFilterClassA (byte) - the first byte of the IP address

    • IPFilterClassB (byte) - the second byte of the IP address

    • IPFilterClassC (byte) - the third byte of the IP address

    • IPFilterClassD (byte) - the fourth byte of the IP address

    • IPMaskClassA (byte) - the first byte of the IP mask

    • IPMaskClassB (byte) - the second byte of the IP mask

    • IPMaskClassC (byte) - the third byte of the IP mask

    • IPMaskClassD (byte) - the fourth byte of the IP mask

    • Version (long) -

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

InsertAccessAuthorizationByToken

Syntax

InsertAccessAuthorizationByToken(string securityToken, AccessAuthorizationDTO model, int millisecondsTimeOut);

Description

Adds a new access authorization using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (AccessAuthorizationDTO ) - the data transfer object representing the access authorization to be inserted. It should contain:

    • id (guid) - the unique id of the access authorization

    • Name (string) - the name of the access authorization

    • Description (string) - the description of the access authorization

    • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

    • ComputerName (string) - the computer name

    • IPFilterClassA (byte) - the first byte of the IP address

    • IPFilterClassB (byte) - the second byte of the IP address

    • IPFilterClassC (byte) - the third byte of the IP address

    • IPFilterClassD (byte) - the fourth byte of the IP address

    • IPMaskClassA (byte) - the first byte of the IP mask

    • IPMaskClassB (byte) - the second byte of the IP mask

    • IPMaskClassC (byte) - the third byte of the IP mask

    • IPMaskClassD (byte) - the fourth byte of the IP mask

    • Version (long) -

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateAccessAuthorization

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

UpdateAccessAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, AccessAuthorizationDTO model, int millisecondsTimeOut);

Description

Updates an existing access authorization using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (AccessAuthorizationDTO ) - the data transfer object representing the access authorization to be inserted. It should contain:

    • id (guid) - the unique id of the access authorization

    • Name (string) - the name of the access authorization

    • Description (string) - the description of the access authorization

    • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

    • ComputerName (string) - the computer name

    • IPFilterClassA (byte) - the first byte of the IP address

    • IPFilterClassB (byte) - the second byte of the IP address

    • IPFilterClassC (byte) - the third byte of the IP address

    • IPFilterClassD (byte) - the fourth byte of the IP address

    • IPMaskClassA (byte) - the first byte of the IP mask

    • IPMaskClassB (byte) - the second byte of the IP mask

    • IPMaskClassC (byte) - the third byte of the IP mask

    • IPMaskClassD (byte) - the fourth byte of the IP mask

    • Version (long) -

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateAccessAuthorizationByToken

Syntax

UpdateAccessAuthorizationByToken(string securityToken, AccessAuthorizationDTO model, int millisecondsTimeOut);

Description

Updates an existing access authorization using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (AccessAuthorizationDTO ) - the data transfer object representing the access authorization to be inserted. It should contain:

    • id (guid) - the unique id of the access authorization

    • Name (string) - the name of the access authorization

    • Description (string) - the description of the access authorization

    • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

    • ComputerName (string) - the computer name

    • IPFilterClassA (byte) - the first byte of the IP address

    • IPFilterClassB (byte) - the second byte of the IP address

    • IPFilterClassC (byte) - the third byte of the IP address

    • IPFilterClassD (byte) - the fourth byte of the IP address

    • IPMaskClassA (byte) - the first byte of the IP mask

    • IPMaskClassB (byte) - the second byte of the IP mask

    • IPMaskClassC (byte) - the third byte of the IP mask

    • IPMaskClassD (byte) - the fourth byte of the IP mask

    • Version (long) -

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteAccessAuthorization

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

DeleteAccessAuthorization(string sessionId, string clientId, string userName, bool isDomainUser, Guid id, int millisecondsTimeOut);

Description

Deletes an existing access authorization using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • id (guid) - the unique id of the access authorization to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteAccessAuthorizationByToken

Syntax

DeleteAccessAuthorizationByToken(string securityToken, Guid id, int millisecondsTimeOut);

Description

Deletes an existing access authorization using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • id (guid) - the unique id of the access authorization to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

GetAllAccessGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

GetAllAccessGroup(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all access groups based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of AccessGroupDTO objects, each containing:

  • id (guid) - the unique id of the access group

  • Name (string) - the name of the access group

  • Description (string) - the description of the access group

  • TimeOn(DateTime) - the start of the time period when the access group is active

  • TimeOff(DateTime) - the end of the time period when the access group is active

  • Version (long) -

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

GetAllAccessGroupByToken

Syntax

GetAllAccessGroupByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all access groups based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A list of AccessGroupDTO objects, each containing:

  • id (guid) - the unique id of the access group

  • Name (string) - the name of the access group

  • Description (string) - the description of the access group

  • TimeOn(DateTime) - the start of the time period when the access group is active

  • TimeOff(DateTime) - the end of the time period when the access group is active

  • Version (long) -

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

GetAllAccessGroupDetails

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

GetAllAccessGroupDetails(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all access groups details based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of AccessGroupDetailsDTO objects, each containing:

  • id (guid) - the unique id of the access group

  • Name (string) - the name of the access group

  • Description (string) - the description of the access group

  • TimeOn(DateTime) - the start of the time period when the access group is active

  • TimeOff(DateTime) - the end of the time period when the access group is active

  • Version (long) -

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

  • AccessAuthorizations (IEnumerable<AccessAuthorizationDTO>) - a list of AccessAuthorizationDTOs, each containing:

    • id (guid) - the unique id of the access group

    • Name (string) - the name of the access authorization

    • Description (string) - the description of the access authorization

    • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

    • ComputerName (string) - the computer name

    • IPFilterClassA (byte) - the first byte of the IP address

    • IPFilterClassB (byte) - the second byte of the IP address

    • IPFilterClassC (byte) - the third byte of the IP address

    • IPFilterClassD (byte) - the fourth byte of the IP address

    • IPMaskClassA (byte) - the first byte of the IP mask

    • IPMaskClassB (byte) - the second byte of the IP mask

    • IPMaskClassC (byte) - the third byte of the IP mask

    • IPMaskClassD (byte) - the fourth byte of the IP mask

    • Version (long) -

GetAllAccessGroupDetailsByToken

Syntax

GetAllAccessGroupDetailsByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all access groups details based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A list of AccessGroupDetailsDTO objects, each containing:

  • id (guid) - the unique id of the access group

  • Name (string) - the name of the access group

  • Description (string) - the description of the access group

  • TimeOn(DateTime) - the start of the time period when the access group is active

  • TimeOff(DateTime) - the end of the time period when the access group is active

  • Version (long) -

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

  • AccessAuthorizations (IEnumerable<AccessAuthorizationDTO>) - a list of AccessAuthorizationDTOs, each containing:

    • Name (string) - the name of the access authorization

    • Description (string) - the description of the access authorization

    • AccessType (bool) - if true, the access will be done using the computer name. If false, the access will be done using the IP address.

    • ComputerName (string) - the computer name

    • IPFilterClassA (byte) - the first byte of the IP address

    • IPFilterClassB (byte) - the second byte of the IP address

    • IPFilterClassC (byte) - the third byte of the IP address

    • IPFilterClassD (byte) - the fourth byte of the IP address

    • IPMaskClassA (byte) - the first byte of the IP mask

    • IPMaskClassB (byte) - the second byte of the IP mask

    • IPMaskClassC (byte) - the third byte of the IP mask

    • IPMaskClassD (byte) - the fourth byte of the IP mask

    • Version (long) -

InsertAccessGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

InsertAccessGroup(string sessionId, string clientId, string userName, bool isDomainUser, AccessGroupDTO model, int millisecondsTimeOut);

Description

Adds a new access group using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • password (string) - the user password

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (AccessGroupDTO) - the data transfer object representing the access group to be inserted. It should contain:

    • id (guid) - the unique id of the access group

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • TimeOn(DateTime) - the start of the time period when the access group is active

    • TimeOff(DateTime) - the end of the time period when the access group is active

    • Version (long) -

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

InsertAccessGroupByToken

Syntax

InsertAccessGroupByToken(string securityToken, AccessGroupDTO model, int millisecondsTimeOut);

Description

Adds a new access group using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (AccessGroupDTO) - the data transfer object representing the access group to be inserted. It should contain:

    • id (guid) - the unique id of the access group

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • TimeOn(DateTime) - the start of the time period when the access group is active

    • TimeOff(DateTime) - the end of the time period when the access group is active

    • Version (long) -

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateAccessGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

UpdateAccessGroup(string sessionId, string clientId, string userName, bool isDomainUser, AccessGroupDTO model, int millisecondsTimeOut);

Description

Updates an existing access group using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • password (string) - the user password

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (AccessGroupDTO) - the data transfer object representing the access group to be inserted. It should contain:

    • id (guid) - the unique id of the access group

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • TimeOn(DateTime) - the start of the time period when the access group is active

    • TimeOff(DateTime) - the end of the time period when the access group is active

    • Version (long) -

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateAccessGroupByToken

Syntax

UpdateAccessGroupByToken(string securityToken, AccessGroupDTO model, int millisecondsTimeOut);

Description

Updates an existing access group using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (AccessGroupDTO) - the data transfer object representing the access group to be inserted. It should contain:

    • id (guid) - the unique id of the access group

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • TimeOn(DateTime) - the start of the time period when the access group is active

    • TimeOff(DateTime) - the end of the time period when the access group is active

    • Version (long) -

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteAccessGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

DeleteAccessGroup(string sessionId, string clientId, string userName, bool isDomainUser, Guid id, int millisecondsTimeOut);

Description

Deletes an existing access group using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • password (string) - the user password

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • id (guid) - the unique id of the access group to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteAccessGroupByToken

Syntax

DeleteAccessGroupByToken(string securityToken, Guid id, int millisecondsTimeOut);

Description

Deletes an existing access group using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • id (guid) - the unique id of the access group to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

GetUserAuthorizationGroups

Syntax

GetUserAuthorizationGroups(string securityToken);

Description

Gets the authorization groups for the currently logged in user, based on the provided security token

Parameters

  • securityToken (string) - the security token returned by the Login() method

Return Value

A list of AuthorizationGroupDTO objects, each containing:

  • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

  • Version (long) -

  • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

  • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

  • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

  • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

  • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

  • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

  • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

GetAllAuthorizationGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

GetAllAuthorizationGroup(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all authorization groups based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of AuthorizationGroupDTO objects, each containing:

  • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

  • Version (long) -

  • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

  • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

  • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

  • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

  • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

  • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

  • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

GetAllAuthorizationGroupByToken

Syntax

GetAllAuthorizationGroupByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all authorization groups based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A list of AuthorizationGroupDTO objects, each containing:

  • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

  • Version (long) -

  • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

  • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

  • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

  • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

  • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

  • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

  • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

GetAllAuthorizationGroupDetails

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

GetAllAuthorizationGroupDetails(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all authorization groups details based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of AuthorizationGroupDetailsDTO objects, each containing:

  • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

  • Version (long) -

  • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

  • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

  • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

  • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

  • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

  • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

  • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

  • AccessGroups (IEnumerable<AccessGroupDTO>) - the list of AccessGroupDTO objects, each containing:

    • id (guid) - the unique id of the access group

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • TimeOn(DateTime) - the start of the time period when the access group is active

    • TimeOff(DateTime) - the end of the time period when the access group is active

    • Version (long) -

  • AlarmGroups (IEnumerable<AlarmGroupDTO>) - the list of AlarmGroupDTO objects, each containing:

    • id (guid) - the unique id of the alarm group

    • symbolicTextName (string) - the symbolic name of the alarm group

    • symbolicTextTranslation (string) - the translation of the alarm group

  • AlarmTypes (IEnumerable<AlarmTypeDTO>) - the list of AlarmTypeDTO objects, each containing:

    • id (guid) - the unique id of the alarm type

    • symbolicTextName (string) - the symbolic name (language independent) of the alarm type

    • symbolicTextTranslation (string) - the translated name of the alarm type

  • Locations (IEnumerable<SchedulerLocationDTO>) - the list of SchedulerLocationDTO objects, each containing:

    • id (guid) - the unique ID of the scheduler location

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • Version (long) -

    • ServerId (guid) - the unique ID of the server

  • ProjectAuthorizations (IEnumerable<ProjectAuthorizationDTO>) - the list of ProjectAuthorizationDTO objects, each containing:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • SystemAuthorizations (IEnumerable<SystemAuthorizationDTO>) - the list of SystemAuthorizationDTO objects, each containing:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • WriteGroups (IEnumerable<WriteGroupDTO>) - the list of WriteGroupDTO objects, each containing:

    • id (guid) - the unique id of the write group

    • name (string) - the name of the write group

    • description (string) - the description of the write group

    • Version (long) -

    • RestrictedAccess (bool) - if true, another user may perform a write operation only after the currently active user has logged off. The writing operations are allowed only for logged-in users.

GetAllAuthorizationGroupDetailsByToken

Syntax

GetAllAuthorizationGroupDetailsByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all authorization groups details based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A list of AuthorizationGroupDetailsDTO objects, each containing:

  • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

  • Version (long) -

  • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

  • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

  • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

  • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

  • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

  • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

  • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

  • AccessGroups (IEnumerable<AccessGroupDTO>) - the list of AccessGroupDTO objects, each containing:

    • id (guid) - the unique id of the access group

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • TimeOn(DateTime) - the start of the time period when the access group is active

    • TimeOff(DateTime) - the end of the time period when the access group is active

    • Version (long) -

  • AlarmGroups (IEnumerable<AlarmGroupDTO>) - the list of AlarmGroupDTO objects, each containing:

    • id (guid) - the unique id of the alarm group

    • symbolicTextName (string) - the symbolic name of the alarm group

    • symbolicTextTranslation (string) - the translation of the alarm group

  • AlarmTypes (IEnumerable<AlarmTypeDTO>) - the list of AlarmTypeDTO objects, each containing:

    • id (guid) - the unique id of the alarm type

    • symbolicTextName (string) - the symbolic name (language independent) of the alarm type

    • symbolicTextTranslation (string) - the translated name of the alarm type

  • Locations (IEnumerable<SchedulerLocationDTO>) - the list of SchedulerLocationDTO objects, each containing:

    • id (guid) - the unique ID of the scheduler location

    • Name (string) - the name of the access group

    • Description (string) - the description of the access group

    • Version (long) -

    • ServerId (guid) - the unique ID of the server

  • ProjectAuthorizations (IEnumerable<ProjectAuthorizationDTO>) - the list of ProjectAuthorizationDTO objects, each containing:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • SystemAuthorizations (IEnumerable<SystemAuthorizationDTO>) - the list of SystemAuthorizationDTO objects, each containing:

    • id (guid) - the unique id of the system authorization

    • Name (string) - the name of the system authorization

    • Description (string) - the description of the system authorization

  • WriteGroups (IEnumerable<WriteGroupDTO>) - the list of WriteGroupDTO objects, each containing:

    • id (guid) - the unique id of the write group

    • name (string) - the name of the write group

    • description (string) - the description of the write group

    • Version (long) -

    • RestrictedAccess (bool) - if true, another user may perform a write operation only after the currently active user has logged off. The writing operations are allowed only for logged-in users.

InsertAuthorizationGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

InsertAuthorizationGroup(string sessionId, string clientId, string userName, bool isDomainUser, AuthorizationGroupDTO model, int millisecondsTimeOut);

Description

Adds a new authorization group using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • password (string) - the user password

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (AuthorizationGroupDTO) - the data transfer object representing the authorization group to be inserted. It should contain:

    • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

    • Version (long) -

    • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

    • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

    • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

    • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

    • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

    • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

    • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

InsertAuthorizationGroupByToken

Syntax

InsertAuthorizationGroupByToken(string securityToken, AuthorizationGroupDTO model, int millisecondsTimeOut);

Description

Adds a new authorization group using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (AuthorizationGroupDTO) - the data transfer object representing the authorization group to be inserted. It should contain:

    • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

    • Version (long) -

    • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

    • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

    • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

    • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

    • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

    • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

    • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateAuthorizationGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

UpdateAuthorizationGroup(string sessionId, string clientId, string userName, bool isDomainUser, AuthorizationGroupDTO model, int millisecondsTimeOut);

Description

Updates an existing authorization group using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • password (string) - the user password

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • model (AuthorizationGroupDTO) - the data transfer object representing the authorization group to be inserted. It should contain:

    • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

    • Version (long) -

    • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

    • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

    • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

    • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

    • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

    • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

    • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

  • AccessAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the access authorizations belonging to this access group

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

UpdateAuthorizationGroupByToken

Syntax

UpdateAuthorizationGroupByToken(string securityToken, AuthorizationGroupDTO model, int millisecondsTimeOut);

Description

Updates an existing authorization group using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • model (AuthorizationGroupDTO) - the data transfer object representing the authorization group to be inserted. It should contain:

    • CheckAccessGroups (bool) - if true, the user will be granted the authorization group permissions only if the conditions specified in the access authorizations are met

    • Version (long) -

    • AccessGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the access groups included in the authorization group

    • AlarmGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm groups included in the authorization group

    • AlarmTypeIDs (IEnumerable<Guid>) - the list of unique IDs of the alarm types included in the authorization group

    • LocationIDs (IEnumerable<Guid>) - the list of unique IDs of the scheduler locations included in the authorization group

    • ProjectAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the project authorizations included in the authorization group

    • SystemAuthorizationIDs (IEnumerable<Guid>) - the list of unique IDs of the system authorizations included in the authorization group

    • WriteGroupIDs (IEnumerable<Guid>) - the list of unique IDs of the write groups included in the authorization group

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteAuthorizationGroup

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

DeleteAuthorizationGroup(string sessionId, string clientId, string userName, bool isDomainUser, Guid id, int millisecondsTimeOut);

Description

Deletes an existing authorization group using the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • password (string) - the user password

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • id (guid) - the unique id of the authorization group to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

Returns true if the operation succeeded or false if the operation failed

DeleteAuthorizationGroupByToken

Syntax

DeleteAuthorizationGroupByToken(string securityToken, Guid id, int millisecondsTimeOut);

Description

Deletes an existing authorization group using the provided security token and parameters

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • id (guid) - the unique id of the authorization group to be deleted

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

Returns true if the operation succeeded or false if the operation failed

GetAllSchedulerLocation

This method follows the WEBfactory i4SCADA Security Protocol.

Syntax

GetAllSchedulerLocation(string sessionId, string clientId, string userName, bool isDomainUser, int millisecondsTimeOut);

Description

Gets all scheduler locations based on the provided parameters

Parameters

  • sessionId (string) - the unique ID of the session, returned by the connect() method

  • clientId (string) - the user defined unique ID of the client from which the web service is called

  • userName (string) - the name of the defined user in context of which the method is called

  • isDomainUser (bool) - true if the defined user is an Active Directory user

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated.

Return Value

A list of SchedulerLocationDTO objects, each containing:

  • id (guid) - the unique ID of the scheduler location

  • Name (string) - the name of the access group

  • Description (string) - the description of the access group

  • Version (long) -

  • ServerId (guid) - the unique ID of the server

GetAllSchedulerLocationByToken

Syntax

GetAllSchedulerLocationByToken(string securityToken, int millisecondsTimeOut);

Description

Gets all scheduler locations based on the provided token

Parameters

  • securityToken (string) - the security token returned by the Login() method

  • millisecondsTimeOut (int) - the amount of time, in milliseconds, in which the authentication process is verified. If this time period is exceeded or the login failed, a fault exception will be generated

Return Value

A list of SchedulerLocationDTO objects, each containing:

  • id (guid) - the unique ID of the scheduler location

  • Name (string) - the name of the access group

  • Description (string) - the description of the access group

  • Version (long) -

  • ServerId (guid) - the unique ID of the server