Users
Non-registered frontend users are referred to as visitors – this article is not about them (unless you want to register them as users).
Registered users are a core part of all modern web solutions. Almost everyone – from website administrators to customers – require or benefit from a user account. A user account generally consists of a username and a password, as well as a number of other (optional) fields and settings for storing data about the user. Users are typically placed inside one or more user groups, which can be used to organize users into e.g. customers, web editors, etc.
Users and user groups are managed from the Users area (Figure 1.2), which features:
- A tree (1) for navigating between user groups and tools
- A content pane (2) where content is displayed, in this case user lists & user details

Creating users
User accounts can be created in several ways:
- From the backend using the built-in tools of the Users area
- From the frontend using the Extranet app
- During an import from an external system
This section will focus on non-remote scenarios – integration is covered elsewhere.
To create new user accounts from the backend:
- Go to the Users area
- Right-click an existing user group and click New user in the context menu (Figure 2.1)
After a user is created, the user details ({figueref}) are shown in the content pane – they consist of:
- A ribbon bar with various user-related tools (1)
- A set of user fields (2)

Other user-related action – moving, deleting, deactivating, etc. – take place from the user list view.
Standard user fields
A user account consists of a set of standard fields and (optionally) custom fields for storing data related to the user – at the very least a user name and a password (Figure 3.1).
As you can see, passwords may be stored in plain text – but we thoroughly recommend that you encrypt the password. You can set up default password encryption in the advanced ecommerce settings. You can also use the cogs-icon to generate a random password for a user.
If the user with an encrypted password has a valid value in the email field, you can send them a password recovery email via the ’Send recovery mail’ link (Figure 3.2).

This action stores a recovery token on the user. In the email setup, select a page with an attached extranet app, and link the user to a sign-in page using RecoveryToken=[token] in the URL to load the password recovery template from the extranet app.
Below the user name and password fields is a long list of fields for storing information about the user. These are explained below – the fields containing simple string values are described with a ’-’.
The personal fields contain personal details about the user:
Field |
Value |
Notes |
Name |
- |
|
Title |
- |
|
First name |
- |
|
Middle name |
- |
|
Last name |
- |
|
|
A valid email address |
Use checkmark-icon to validate the format, domain, and mail server record. |
Image |
An image |
This image can be updated by the user via the extranet app |
Email permission |
True/false |
If this field is false, the standard Dynamicweb Users recipient provider will not allow you to send emails to this user |
Consents |
Lists consents associated with the user |
Consents can be used in conjunction with the email permission field to implement GDPR-compliant procedures |
The Address and Phone fields contain information about contacting the user:
Field |
Value |
Notes |
Address |
- |
|
Address 2 |
- |
|
House number |
- |
|
Zip code |
- |
|
City |
- |
|
State or region |
- |
|
Country |
- |
|
Billing/Shipping country |
Select a country |
The default payment & shipping methods for the selected country will be used in place of the default country in the website settings |
Phone |
- |
|
Phone (private) |
- |
|
Mobile phone |
- |
|
Fax |
- |
|
The Ecommerce fields contain data related to Ecommerce:
Field |
Value |
Notes |
Customer number |
- |
Typically used to link users from the same company with each other, for use in e.g. the price matrix or a live integration. |
External id |
- |
Typically used for linking the user with an external service, e.g. a CRM system, as a part of a user integration. |
Currency |
Select a currency |
The selected currency overrules the default set in the website Ecommerce settings. Takes effect after logout & login. |
Stock location |
Select a stock location |
The selected stock location overrules the default set in the website Ecommerce settings. Takes effect after logout & login. |
Shop id |
Enter a valid shop ID |
Only present when the checkbox ’Include shop id in extranet login’ is checked in the Ecommerce settings. This checkbox is used to differentiate two otherwise identical users when they log into frontend. |
The Work fields are used to store work-related information about the user.
Field |
Value |
Notes |
Company |
- |
|
Department |
- |
|
Job title |
- |
|
Phone (business) |
- |
|
VAT reg number |
A valid VAT number for the user’s country |
A VAT reg number is an id used for tax purposes – in denmark this is called a CVR number, in Germany a Ust-ldNr, in the UK a VAT Reg No, and so on. |
The Geolocation & Start Page fields can be used to store a geolocation for a user.
Field |
Value |
Notes |
GeoLocationLat |
Latitude coordinates |
Click the ’Show location on map’ button to manually select and save a set of coordinates.
The ’Get location from API’ button attempts to retrieve coordinates based on address information on the user. |
GeoLocationLng |
Longitude coordinates |
Click the ’Show location on map’ button to manually select and save a set of coordinates.
The ’Get location from API’ button attempts to retrieve coordinates based on address information on the user. |
GeoLocationIsCustom |
True/false |
This setting indicates whether this is a custom location (set via ’show location on map’) or not (set via ’Get location from API’). |
Image |
An image file |
This image can be used to replace the standard maps marker when rendering geolocations on a map (this is automatic if the Maps app is used). |
Start Page |
Select a custom start page for this user |
|
On some solutions, various System Fields are also present. These fields are generated by the system when various parts of the system are in use, e.g. certain tax providers for the US market. You may also have access to one or more custom user fields – these fields are typically used to store data from an external system.
Below these, a Groups selector allows you to manage group membership for this user – you can see which groups the user is a member of, and add or remove the user from user groups.
If the solution uses live integration an option for disabling live prices for this particular user is also present. This field is typically not managed via the backend, but set and removed from a remote system as a part of the integration.
Finally, you can see audit information related to the user:
- Created on
- Updated on
- Created by
- Updated by
- Email permission updated on
- Last login on
In the footer, you can see the User id.
Ribbon bar tools
The User ribbon bar contains several advanced or specialized tools and features which can be useful in some scenarios. These are described below.
Additional addresses
A user account can have more than one address associated with it – they are accessed by clicking the Addresses button in the ribbon bar view (Figure 5.1).
This view lists all addresses associated with the user account (1), and also makes it possible to add more addresses to the list (2).
Both primary and secondary addresses can be edtited from frontend via the Extranet app set to the ’Edit Profile’ mode. You can set either of the addresses as the Default address and use this value to preselect it in the shopping cart in frontend.
Related information
Registered users are often heavily involved with the rest of the system – Ecommerce, Email Markeing, etc. – and in the ribbon bar (Figure 6.1) you can access information related to those parts of the system.
Using the Information buttons you can:
- See details about each visit a user has paid your solution – read about the visitor details view.
- View the order list of the user.
- See which email marketing efforts have been targeting the user, and how they have reacted to them
- See the user’s total loyalty points, and how and when they received them - or add points manually - read about loyalty points.
- See which credit cards (if any) the user has saved on your solution - read about saved cards.
- See a list of previously delivered recurring orders (if any) for the user – read more about recurring orders.
Account Expiration
At times, you may want to only provide a user with access to a website or the administration for a limited time. In those cases, you can use the Options tab to set a publication period on the user (Figure 7.1).

When the publication period is up, the user will be set to be inactive.
User types
There are three native user types in Dynamicweb, representing different levels of access to the solution.
- Administrator
- Admin
- Default
Administrators and admins have backend access by default – but for default user you must provide them with explicit backen access using the allow backend login toggle in the ribbon bar (Figure 8.1).

Admins have access to semi-critical settings such as:
- General system and solution settings
- Search index settings
- Editor configuration settings
- Customization of URLs
- Security settings concerning spam and SQL injection etc.
- Access to the Control panel – including advanced app settings
- The ability to generate image URLs and Navigation XML
Administrators have access to all of the above plus:
- Global settings
- Upgrading the solution
- Host header setup
- Database tools
If your solution uses the new Permissions model introduced in Dynamicweb 9.4, there is no difference between admins and administrators; both use the permissions set for the system role Administrators.
Of course, you can always create an Admin group manually and provide it with permissions matching the old model.
Other settings
Finally, you also have access to various other settings (Figure 9.1).
With these settings you can:
- Select a custom editor configuration for the user.
- Send the user details to someone
- Allow (or disallow) backend login for the user
- Open the impersonation window for the user
- Select an item type to extend the user properties of this user with.
Most of these settings can also be configured on the group level – read more here.
AccessUser
Contains all the users and groups in Dynamicweb
Field name | Data type | Length | |
---|---|---|---|
AccessUserId | int | 4 | |
AccessUserParentId | int | 4 | |
AccessUserUserName | nvarchar | 255 | |
AccessUserPassword | nvarchar | 255 | |
AccessUserName | nvarchar | 255 | |
AccessUserDepartment | nvarchar | 255 | |
AccessUserEmail | nvarchar | 255 | |
AccessUserPhone | nvarchar | 255 | |
AccessUserFax | nvarchar | 255 | |
AccessUserGroups | nvarchar | 255 | |
AccessUserType | int | 4 | |
AccessUserValidFrom | datetime | 8 | |
AccessUserValidTo | datetime | 8 | |
AccessUserPages | nvarchar | 255 | |
AccessUserAreas | nvarchar | 255 | |
AccessUserSettings | nvarchar | Max | |
AccessUserModules | nvarchar | Max | |
AccessUserInformation | nvarchar | Max | |
AccessUserMyFolder | nvarchar | 255 | |
AccessUserAddress | nvarchar | 255 | |
AccessUserAddress2 | nvarchar | 255 | |
AccessUserZip | nvarchar | 255 | |
AccessUserCity | nvarchar | 255 | |
AccessUserCountry | nvarchar | 255 | |
AccessUserJobTitle | nvarchar | 255 | |
AccessUserCompany | nvarchar | 255 | |
AccessUserPhonePriv | nvarchar | 255 | |
AccessUserMobile | nvarchar | 255 | |
AccessUserCustomerNumber | nvarchar | 255 | |
AccessUserRedirectOnLogin | nvarchar | 255 | |
AccessUserCurrencyCharacter | nvarchar | 3 | |
AccessUserRead | bit | 1 | |
AccessUserAdsiMap | nvarchar | 255 | |
AccessUserPasswordDate | datetime | 8 | |
AccessUserLastName | nvarchar | 255 | |
AccessUserMiddleName | nvarchar | 255 | |
AccessUserActive | bit | 1 | |
AccessUserImage | nvarchar | 255 | |
AccessUserBusiness | nvarchar | 255 | |
AccessUserInitials | nvarchar | 255 | |
AccessUserComment | nvarchar | Max | |
AccessUserLevel | int | 4 | |
AccessUserInheritAddress | bit | 1 | |
AccessUserWeb | nvarchar | 255 | |
AccessUserSort | int | 4 | |
AccessUserStatus | int | 4 | |
AccessUserStatusBegin | datetime | 8 | |
AccessUserStatusEnd | datetime | 8 | |
AccessUserStatusComment | nvarchar | 255 | |
AccessUserEditorConfigurationId | int | 4 | |
AccessUserHideStat | bit | 1 | |
AccessUserCartId | nvarchar | 50 | |
AccessUserAllowBackend | bit | 1 | |
AccessUserApprovalKey | nvarchar | 50 | |
AccessUserShopId | nvarchar | 50 | |
AccessUserExternalId | nvarchar | 250 | |
AccessUserSortXML | nvarchar | Max | |
AccessUserGeoLocationLat | float | 8 | |
AccessUserGeoLocationLng | float | 8 | |
AccessUserGeoLocationIsCustom | bit | 1 | |
AccessUserGeoLocationImage | nvarchar | 255 | |
AccessUserGeoLocationHash | nvarchar | 32 | |
AccessUserNewsletterAllowed | bit | 1 | |
AccessUserCreatedOn | datetime | 8 | |
AccessUserUpdatedOn | datetime | 8 | |
AccessUserCreatedBy | int | 4 | |
AccessUserUpdatedBy | int | 4 | |
AccessUserEmailPermissionGivenOn | datetime | 8 | |
AccessUserEmailPermissionUpdatedOn | datetime | 8 | |
AccessUserState | nvarchar | 255 | |
AccessUserVatRegNumber | nvarchar | 20 | |
AccessUserDisableLivePrices | bit | 1 | |
AccessUserLastLoginOn | datetime | 8 | |
AccessUserPointBalance | float | 8 | |
AccessUserAdministratorInGroups | nvarchar | Max | |
AccessUserTitle | nvarchar | 255 | |
AccessUserFirstName | nvarchar | 255 | |
AccessUserHouseNumber | nvarchar | 255 | |
AccessUserLastOrderDate | datetime | 8 | |
AccessUserPasswordRecoveryToken | nvarchar | 128 | |
AccessUserPasswordRecoveryTokenExpirationTime | datetime | 8 | |
AccessUserGroupSmartSearch | nvarchar | 50 | |
AccessUserGroupSmartSearchLastCalculatedTime | datetime | 8 | |
AccessUserExported | datetime | 8 | |
AccessUserItemType | nvarchar | 255 | |
AccessUserItemId | nvarchar | 255 | |
AccessUserDefaultUserItemType | nvarchar | 255 | |
AccessUserStockLocationID | bigint | 8 | |
AccessUserCountryCode | nvarchar | 2 | |
AccessUserAddressTitle | nvarchar | 255 | |
AccessUser_VIPContactMail | bit | 1 | |
AccessUser_ContentMarketingAndEcommerceDeveloperExpire | datetime | 8 | |
AccessUser_C0Certified | bit | 1 | |
AccessUser_C0CertifiedExpire | datetime | 8 | |
AccessUser_C1Certified | bit | 1 | |
AccessUser_C1CertifiedExpire | datetime | 8 | |
AccessUser_C3Certified | bit | 1 | |
AccessUser_C3CertifiedExpire | datetime | 8 | |
AccessUser_C2Certified | bit | 1 | |
AccessUser_C2CertifiedExpire | datetime | 8 | |
AccessUser_C4Certified | bit | 1 | |
AccessUser_C4CertifiedExpire | datetime | 8 | |
AccessUser_DWEmployee | bit | 1 | |
AccessUser_ErpSystem | nvarchar | Max | |
AccessUser_EmailAddressValid | bit | 1 | |
AccessUser_NaceCode | nvarchar | Max | |
AccessUser_MVP | bit | 1 | |
AccessUser_Owner | nvarchar | Max | |
AccessUser_ParentCountry | nvarchar | Max | |
AccessUser_PamNewsletter | bit | 1 | |
AccessUser_ParentCategory | nvarchar | Max | |
AccessUser_ParentPartnerType | nvarchar | Max | |
AccessUser_PrimaryLineOfBusiness | nvarchar | Max | |
AccessUser_PartnerAccountNumber | nvarchar | Max | |
AccessUserUserAndGroupType | nvarchar | 255 | |
DefaultPermission | int | 4 | |
AccessUser_GDPRNewsletterConsent | bit | 1 | |
AccessUser_GDPRNewsletterConsentTimestamp | datetime | 8 | |
AccessUser_GDPRNewsletterConsentAcquiredBy | nvarchar | Max | |
AccessUser_FinancialInformation | bit | 1 | |
AccessUser_C5Certified | bit | 1 | |
AccessUser_C5CertifiedExpire | datetime | 8 |
AccessUserAddress
For users with multiple defined addresses extra addresses are defined here and linked via AccessUserId.
Field name | Data type | Length | |
---|---|---|---|
AccessUserAddressId | int | 4 | |
AccessUserAddressUserId | int | 4 | |
AccessUserAddressType | bit | 1 | |
AccessUserAddressCallName | nvarchar | 255 | |
AccessUserAddressCompany | nvarchar | 255 | |
AccessUserAddressName | nvarchar | 255 | |
AccessUserAddressAddress | nvarchar | 255 | |
AccessUserAddressAddress2 | nvarchar | 255 | |
AccessUserAddressZip | nvarchar | 255 | |
AccessUserAddressCity | nvarchar | 255 | |
AccessUserAddressCountry | nvarchar | 255 | |
AccessUserAddressPhone | nvarchar | 255 | |
AccessUserAddressCell | nvarchar | 20 | |
AccessUserAddressFax | nvarchar | 255 | |
AccessUserAddressEmail | nvarchar | 255 | |
AccessUserAddressCustomerNumber | nvarchar | 255 | |
AccessUserAddressUId | nvarchar | 25 | |
AccessUserAddressState | nvarchar | 255 | |
AccessUserAddressIsDefault | bit | 1 | |
AccessUserAddressExported | datetime | 8 | |
AccessUserAddressPhoneBusiness | nvarchar | 255 | |
AccessUserAddressDefaultAddressCustomFields | bit | 1 | |
AccessUserAddressCountryCode | nvarchar | 2 |
AccessUserSecondaryRelation
Contains AccessUserId of users (AccessUserSecondaryRelationUserID) who can log in on behalf of other users (AccessUserSecondaryRelationSecondaryUserId) (i.e. Impersonate them).
Field name | Data type | Length | |
---|---|---|---|
AccessUserSecondaryRelationUserId | int | 4 | |
AccessUserSecondaryRelationSecondaryUserId | int | 4 | |
AccessUserSecondaryRelationAutoId | int | 4 |
CustomField
Contains definitions of custom fields on users
Field name | Data type | Length | |
---|---|---|---|
CustomFieldSystemName | nvarchar | 50 | |
CustomFieldTableName | nvarchar | 255 | |
CustomFieldType | nvarchar | 50 | |
CustomFieldName | nvarchar | 255 | |
CustomFieldOptions | nvarchar | Max | |
CustomFieldSort | int | 4 | |
CustomFieldAutoId | int | 4 |