The Permissions API provides authentication based access control to configuration objects in WinGate. Using the API will provide a consistent look and feel for your users to manage access to the objects that you wish to provide securable access to.
The WinGate permissions system is a hierarchical collection of permissions objects that supports permission inheritance, propagation control and overriding. New permissions can be added or existing ones customised.
Before a permission object can be instantiated you must register a class using PermissionsRegisterClass. This class defines the default settings for instantiated objects of that class. It includes things such as label, description, permission mask and child permission mask.
Once a class has been registered you can register (instantiate) permission objects of that class with PermissionsRegisterObject. This creates a real permission object in WinGate and will be visible in the Permissions panel of the WinGate Management Console. When registering a permission object you can parent it to an already existing permission object in order to build a hierarchy of objects that can share their permissions via inheritance.
Once you have permission objects instantiated you can check permissions against a user with calls to either PermissionsGetUserAccess and PermissionsAccessCheck. The former gives you set of granted permissions in a bit mask and the latter checks for a single permission.