You can dynamically restrict access to specific cases or assign privileged users by using Bizagi's SOA layer (SOAP-compliant web services).
This section describes how to grant or revoke access to specific users by relying on the Case security feature.
The user name and domain is passed through an interface to automatically add the user to the privileged list. The values passed must be known in advance and must be sent from an external system.
Example to add privileged users through SOA layer
In the Purchase Request Process, the Commercial Vice President must have privileges over a case to view its information. We assume that this case is already closed and the case number is known, namely 300. To grant the privileges, we must invoke the Bizagi Web services from an external application using the Bizagi SOA layer.
The Web service method to add privileged users is grantCaseAccess available from the WorkflowEngineSOA.asmx, and has the following syntax:
To add a user to the list of privileged users: CHelper.GrantCaseAccess (int idCase, int idUser)
To add multiple users to the list of privileged users: CHelper.GrantCaseAccessToUsers (int idCase, Array Users)
Privileges can be to more than one user, and for more than one case if a web service is invoked.
The XML input to invoke the method is given below:
Restricting users through SOA layer
Continuing with the Purchase Request Process example, the following conditions must be met:
•User CommercialOperator2 should not have access to the case 300.
•User CommercialOperator1 should not have access to the case 301.
•User CommercialOperator1 should not have access to the case 302.
•User CommercialVicePresident should not have access to the case 302.
Assuming that these cases are closed, restricted privileges will be assigned from an external application, invoking Web services through the Bizagi SOA layer. The web service method to restrict user access is revokeCaseAccess available from WorkflowEngineSOA.asmx.
To remove a user from the list of privileged users: CHelper.RevokeCaseAccess (int idCase, int idUser)
To remove multiple users from the list of privileged users: CHelper.RevokeCaseAccessToUsers (int idCase, Array Users)
An extract of the XML input to invoke the method is shown below: