Security Duty Extensions
A Security Duty Extension (AxSecurityDutyExtension) modifies an existing security duty without altering its original definition. Duty extensions allow you to assign additional privileges to standard duties, effectively granting users with that duty access to your custom functionality.
Duty extensions are created by right-clicking a security duty in the AOT and selecting Create extension. This creates an AxSecurityDutyExtension object named <OriginalDutyName>.<YourModelName> in your model.
What Can Be Extended
| Capability | Description |
|---|---|
| Add Privileges | Assign additional security privileges to the duty. |
| Modify Properties | Change property values on the duty via PropertyModifications. |
Best Practices
- Extend the most specific duty for your functionality. If your privilege grants access to a sales-specific feature, extend
SalesOrderMaintainrather than a broad administrative duty. - Create new duties for entirely new business processes rather than overloading existing ones.
- Document every privilege added through extension with a clear business justification.
Properties
| Property | Display Name | Type | Description |
|---|---|---|---|
| Duty ExtensionAxSecurityDutyExtension | |||
| Name | Name | String | The name of the extension element (follows BaseDuty.Package naming). |
| IsObsolete | Is Obsolete | NoYes | Whether the extension is deprecated. Values: No (0), Yes (1). |
| Visibility | Visibility | CompilerVisibility | Access level visibility. Values: Private (0), Protected (1), Public (2), Internal (3), InternalProtected (4). |
| Tags | Tags | String | Tags for this element separated by semicolon. |