IMetabaseUser.GetEffectiveRights

Syntax

GetEffectiveRights(SecurityDescriptor: ISecurityDescriptor): Integer;

Parameters

SecurityDescriptor. Repository object security parameters.

Description

The GetEffectiveRights method returns the value that corresponds to the effective access permissions of this user to the repository object.

Comments

The effective permissions include all operations, for which the explicit permission was set for the user. The value returned by this method is an access mask. Mask value is a 4-byte binary number converted to decimal form. It is necessary to use a value of the MetabaseObjectPredefinedRights enumeration type to check a value of the mask. This enumeration contains main and additional operations, to which permissions can be granted. The specific operations are available for defined object classes. Values of the following enumerations can be used to check specific operations depending on the object class:

Basic, additional and specific operations available for specified objects types are shown in the Types of Events section.

To analyze a mask value, implement a custom function to compare separate mask bits with relevant enumerations values. The example of work with access mask is shown in the Examples: Working with Access Mask section.

Example

Executing the example requires that the repository contains an object with the Obj_1 identifier. There is the TestUser user among the security subjects that were created in the security manager of the current repository.

Sub Main;
Var
    MB: IMetabase;
    MDesc: IMetabaseObjectDescriptor;
    User: IMetabaseUser;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    User := MB.Security.ResolveName("TestUser"As IMetabaseUser;
    MDesc := MB.ItemById("Obj_1");
    i := User.GetEffectiveRights(MDesc.SecurityDescriptor);
    Debug.WriteLine(i);
End Sub Main;

After executing the example the "i" variable contains a value that corresponds to the effective permissions that were granted to the specified user to the Obj_1 object.

See also:

IMetabaseUser