Parameter | Type | Description |
---|---|---|
userName | string | User name to check |
info | AnnOperationInfoEventArgs | Operation information including its type and the annotation object involved. |
Type | Description |
---|---|
boolean | true if the user has enough roles to allow the operation, otherwise; false including if the user was not found in any groups. |
This method works as follows:
GetUserRoles is called obtain the roles for the specified user (through the groups this user belong to).
AnnOperationInfoEventArgs.Type is checked agains the built-in roles of the system. For instance, if the operation type is AnnOperationType.CreateObjects, then the user must contain AnnRoles.Edit or AnnRoles.EditAll (with edit only works if the userName is the same as info.AnnObject.UserId.
If the build-in roles matched against the operation type could not verify if the the operation is allowed or denied, then this is a custom role and the GenerateRole event will occur to ask the application for te role name to use with this operation. This role is checked again against the group roles to return the boolean value.