Page 9807 "User Card"
Base Application · System.Security.User
Across versions
- BC23present
- BC241 procedures added, 1 procedures changed
- BC25-30unchanged
Neighbourhood 20 connected objects and pages
Base Application · System.Security.User · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | User Card |
| SourceTable | User |
| PageType | Card |
| Permissions | tabledata “User Property” = m |
Fields on this page
Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control’s own, else the bound field’s (marked).
| Group | Control | Shows | ToolTip |
|---|---|---|---|
| General | User Security ID | Rec."User Security ID" |
Specifies an ID that uniquely identifies the user. This value is generated automatically and should not be changed. |
| User Name | Rec."User Name" |
Specifies the user’s name. If the user is required to present credentials when starting the client, this is the name that the user must present. | |
| Full Name | Rec."Full Name" |
Specifies the full name of the user. | |
| License Type | Rec."License Type" |
Specifies the type of license that applies to the user. | |
| Status | Rec.State |
Specifies whether the user can access companies in the current environment. This field does not reflect any changes in Microsoft 365 Accounts. | |
| Expiry Date | Rec."Expiry Date" |
Specifies a date past which the user will no longer be authorized to log on to the Windows client. | |
| Contact Email | Rec."Contact Email" |
Specifies the user’s email address. | |
| Telemetry ID | TelemetryUserID |
Specifies a telemetry ID which can be used for troubleshooting purposes. | |
| Microsoft 365 | Authentication Email | Rec."Authentication Email" |
Specifies the account that this user signs into Microsoft 365 or SharePoint with. |
| Application ID | ApplicationID |
Specifies the client ID of the Microsoft Microsoft Entra application when authenticating web-service calls. This field is only relevant when the Business Central user is used for web services. | |
| Mapped To Exchange Identifier | HasExchangeIdentifier |
Specifies whether the user is mapped to a Microsoft Exchange identifier, which enables the user to access Business Central from Exchange applications (such as Outlook) without having to sign-in. | |
| Authentication Status | AuthenticationStatus |
Specifies the user’s status for Microsoft 365 authentication. When you start to create a user, the status is Disabled. After you specify an authentication email address for the user, the status changes to Inactive. After the user logs on successfully, the status changes to Active. | |
| Microsoft 365 User Account state | Microsoft365State |
Specifies whether the user’s Microsoft 365 Account is enabled. | |
| Web Service | Web Service Access Key | WebServiceID |
Specifies a generated key that Dynamics 365 web service applications can use to authenticate to Dynamics 365 services. Choose the AssistEdit button to generate a key. |
| Web Service Expiry Date | WebServiceExpiryDate |
Specifies an expiration date for the web services access key. | |
| Windows Authentication | Windows Security ID | Rec."Windows Security ID" |
Specifies the Windows Security ID of the user. This is only relevant for Windows authentication. |
| Windows User Name | WindowsUserName |
Specifies the name of a valid Active Directory user, using the format domain\username. | |
| Access Control Service Authentication | ACS Access Status | ACSStatus |
Specifies the user’s status for ACS authentication. When you start creating a user, the status is Disabled. After you create a user, the status changes to Pending. After the user logs on successfully, the status changes to Enabled. |
| Business Central Password Authentication | Password | Password |
Specifies an initial password for the user. To sign in to the client, the user must provide the name that is specified in the User Name field and this password. |
| User must change password at next login | Rec."Change Password" |
Specifies if the user will be prompted to change the password at next login. | |
| Content | User Permission Sets | part Page 9801 “User Subform” | — |
| Licenses | part Page 9826 “User Plans FactBox” | — | |
| FactBoxes | Inherited Permission Sets | part Page 9821 “Inherited Permission Sets Part” | — |
| Security Group Memberships | part Page 9848 “User Security Groups Part” | — |
Actions
| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Authentication | ACS Setup | Set up Access Control Service authentication, such as generating an authentication key that the user can use to connect to Azure. | |
| Change Password | Change the user’s password if the user connects using password authentication. | ||
| Change Web Service Key | Set up the key that web services use to access your data, and then specify the key on the user card for the relevant user accounts. | ||
| Clear Web Service Access Key | By clearing the Web Service Access Key field on the User Card page, you can ensure that access keys cannot be used to authenticate from another service. | ||
| Delete Exchange Identifier Mapping | Delete the document exchange mapping for the current user. | ||
| History | Sent Emails | View a list of emails that you have sent to this user. |
Events published
OnValidateAuthenticationOnAfterCalcShowConfirmDisableUser(InitialState: Option; User: Record User; var ShowConfirmDisableUser: Boolean)(integration)
Procedures
RemoveWebServiceAccessKey(UserSecurityId: Guid): BooleanDeleteUserIsAllowed(User: Record User): BooleanManageUsersIsAllowed(): BooleanSetWebServiceAccressKey(): Boolean
Plus 15 local procedures.
Triggers
OnAfterGetRecord, OnDeleteRecord, OnInit, OnInsertRecord, OnNewRecord, OnOpenPage, OnQueryClosePage
Pages and codeunits on this table
- Page 9800 “Users” (card page)
Extended by
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 9801 “Identity Management” (12 calls:
OnAfterGetRecord → GetACSStatus,OnAfterGetRecord → GetAuthenticationStatus,OnAfterGetRecord → GetWebServiceExpiryDate, …) - Codeunit 152 “User Permissions” (2 calls:
OnAfterGetRecord → CanManageUsersOnTenant,SetPermissionsVisibility → CanManageUsersOnTenant) - Codeunit 457 “Environment Information” (2 calls:
OnAfterGetRecord → IsSaaS,OnOpenPage → IsSaaS) - Codeunit 9027 “Plan Ids” (2 calls:
IsUserDelegated → GetDelegatedAdminPlanId,IsUserDelegated → GetHelpDeskPlanId) - Codeunit 9800 “User” (2 calls:
ValidateState → ValidateState,ValidateUserName → ValidateUserName) - Codeunit 8714 “Audit Log” (1 call:
ValidateAuthentication → LogAuditMessage) - Codeunit 9000 “Users - Create Super User” (1 call:
OnPremAskFirstUserToCreateSuper → (object)) - Codeunit 9005 “Url Helper” (1 call:
ManageUsersIsAllowed → GetOfficePortalUrl) - Codeunit 9012 “Azure AD Graph” (1 call:
OnAfterGetRecord → IsGraphUserAccountEnabled) - Codeunit 9016 “Azure AD Plan” (1 call:
IsUserDelegated → IsPlanAssignedToUser) - Codeunit 9026 “User Login Time Tracker” (1 call:
DeleteUserIsAllowed → UserLoggedInEnvironment) - Codeunit 9810 “Password Dialog Management” (1 call:
EditNavPassword → OpenSecretPasswordDialog)
Called by
- Codeunit 1392 “Monitor Sensitive Field” (2 calls:
OpenUserCard → (object),ShowUserCardIfMissingContactEmail → (object))
Documented on Microsoft Learn
- Define granular permissions
- Create users according to licenses
- Manage permissions through user groups (legacy)
- Control Access Using Security Groups
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "page", object_name: "User Card"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.