User (Systeemgebruiker)
User (tabel SUSER) is de systeemgebruikers-entiteit van Ultimo: elk persoon of service-account dat inlogt op de applicatie krijgt een User-record. De entiteit beheert inloggegevens, authenticatiemethode (lokaal, SSO/SAML, ExternalAccountName), gebruikersinterface-voorkeuren (ColorScheme, Culture, MenuCollapsed) en beveiliging (FailedLogOnAttempts, ChangePassword, IsSuper). Een User is los van een Employee: de koppeling verloopt via EmployeeId; het is mogelijk een User zonder medewerkerrecord te hebben (bv. service-accounts) of een medewerker zonder inlogaccount.
Entiteitsnaam: User
Databasetabel: SUSER
Primaire sleutel: SUSEID (UltimoString(50))
Contextsbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| 0 | UserContext.None |
Statussenbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| -1 | UserStatus.Trash | Trash |
| 0 | UserStatus.None | None |
Belangrijkste propertiesbewerken
De entiteit heeft in totaal 42 properties. Hieronder de belangrijkste; gebruik
lookup_entity("User")voor de volledige lijst.
| Property | Type | Kolom | Nullable | Default | Omschrijving |
|---|---|---|---|---|---|
| Id | UltimoString(50) | SUSEID | Nee | Unieke gebruikersnaam / login-ID (max. 50 tekens), de primaire sleutel | |
| Description | UltimoString(71) | SUSEDES | Nee | Volledige naam van de gebruiker zoals die in de interface wordt getoond | |
| ActivationDateTime | DateTime? | SUSEACTIVATIONDATETIME | Ja | Tijdstip waarop het gebruikersaccount is geactiveerd (via activatielink) | |
| ColorScheme | ColorScheme | SUSECOLORSCHEME | Nee | 0 | Kleurenschema-voorkeur van de gebruiker voor de Ultimo-interface |
| CountryCode | CountryCode? | SUSECOU | Ja | Landcode die wordt gebruikt voor formaat-instellingen (datum, getal) van de gebruiker | |
| DefaultPrinter | Printer | SUSEPRTID | Ja | Standaard printer die voor deze gebruiker vooringevuld wordt bij afdrukdialogen | |
| GroupSetting | GroupSetting | SUSESGSID | Ja | Groepsinstellingen-profiel dat op de gebruiker van toepassing is | |
| LastLogOnAttempt | DateTime? | SUSELASTLOGONATTEMPT | Ja | Tijdstip van de laatste inlogpoging, geslaagd of mislukt | |
| LastLogOnDate | DateTime? | SUSELASTLOGONDATE | Ja | Tijdstip van de laatste succesvolle inlogsessie | |
| LastPasswordResetRequestDate | DateTime? | SUSELASTPASSWORDRESETREQUESTDATE | Ja | Tijdstip van het meest recente wachtwoordherstelverzoek | |
| MenuCollapsed | CollapsedState | SUSEMENUCOLLAPSED | Nee | 0 | Of het navigatiemenu standaard ingeklapt wordt getoond voor deze gebruiker |
| PasswordChangeDateTime | DateTime? | SUSEPASSWORDCHANGEDATETIME | Ja | Tijdstip waarop het wachtwoord voor het lagtst is gewijzigd | |
| UCTMenuCollapsed | CollapsedState | SUSEUCTMENUCOLLAPSED | Nee | 0 | Of het UCT-navigatiemenu standaard ingeklapt wordt voor deze gebruiker |
| AccessibilityTheme | UltimoString(30) | SUSEACCESSIBILITYTHEME | Ja | Toegankelijkheidsthema (bv. hoog-contrast) dat de gebruiker heeft geselecteerd | |
| ActivationHash | UltimoString(100) | SUSEACTIVATIONHASH | Ja | Tijdelijke hash-token voor accountactivatie via e-mail; wordt leeggemaakt na activatie | |
| AllowMultiTimeZone | Boolean | SUSEALLOWMULTITIMEZONE | Nee | 0 | Of de gebruiker in meerdere tijdzones mag werken (relevant voor internationale installaties) |
| ChangePassword | Boolean | SUSECHANGEPASSWORD | Nee | 1 | Indien actief (standaard), moet de gebruiker het wachtwoord wijzigen bij de eerstvolgende inlog |
| Context | Context | SUSECONTEXT | Nee | Gebruikerscontext; momenteel alleen UserContext.None (0) |
|
| Culture | UltimoString(10) | SUSECULTURE | Ja | Cultuurcode (bv. nl-NL, en-GB) die taal en opmaakformaten voor de gebruiker bepaalt |
|
| EmployeeId | UltimoString(9) | SUSEEMPID | Ja | Koppeling naar het medewerkerrecord (Employee.EMPID) dat bij deze gebruiker hoort |
|
| Encrypt | Boolean | SUSEENCRYPT | Nee | 1 | Geeft aan of het wachtwoord versleuteld wordt opgeslagen (standaard actief) |
| ExternalAccountName | UltimoString(300) | SUSEEXTERNALACCOUNTNAME | Ja | UPN of externe accountnaam voor SSO/SAML-authenticatie | |
| FailedLogOnAttempts | Int32 | SUSEFAILEDLOGONATTEMPTS | Nee | 0 | Aantal opeenvolgende mislukte inlogpogingen; wordt gereset bij succesvolle login |
| IdentityId | UltimoString(36) | SUSEIDENTITYID | Ja | Unieke identifier van de gebruiker in de identity provider (bv. Azure AD Object ID) | |
| IsApplicationManager | Boolean | SUSEISAPPLICATIONMANAGER | Nee | 0 | Geeft aan of de gebruiker applicatiebeheerder is (toegang tot geavanceerde UCT-functies) |
| IsSuper | Boolean | SUSESUPER | Nee | 0 | Supergebruiker-vlag: omzeilt alle autorisatiecontroles — uitsluitend voor noodtoegang |
| IsSystem | Boolean | SUSEISSYSTEM | Nee | 0 | Intern systeem-account (wordt door Ultimo zelf aangemaakt en onderhouden) |
| IsUsedByUltimo | Boolean | SUSEISUSEDBYULTIMO | Nee | 0 | Intern vlag dat aangeeft dat dit account in gebruik is door het Ultimo-platform zelf |
Relaties met andere entiteitenbewerken
| Property | Verwijst naar | Nullable |
|---|---|---|
| DefaultPrinter | Printer | Ja |
| GroupSetting | GroupSetting | Ja |
Onderliggende / verwijzende entiteiten (1-op-veel)bewerken
De volgende entiteiten verwijzen naar User:
| Entiteit | Via property |
|---|---|
| ApiKey | User |
| Application | MaintenanceUser |
| ArticleShoppingCart | User |
| CompanyUser | User |
| EmailServerAccount | ExecuteAsUser |
| ExportConnector | ExecuteAsUser |
| GroupUser | Id.User |
| ImportConnector | ExecuteAsUser |
| Package | CurrentUser |
| PushNotification | User |
| PushNotificationRegistration | User |
| SCIMImportConnector | User |
| ScheduledWorkflow | ExecuteAsUser |
| ScreenFilter | User |
| UserRecordAuthorizationSetting | Id.User |
| UserScreen | Id.User |
Tips voor consultantsbewerken
- User vs. Employee: Een User is het inlogaccount; een Employee is de medewerker in de operationele processen. Koppel ze altijd via
EmployeeIdzodat geplande uren, werkorders en verlofaanvragen correct worden toegerekend. Service-accounts (schedulers, import-connectors) hebben wél een User maar géén Employee. - IsSuper alleen voor noodgevallen:
IsSuper = trueomzeilt alle scherm- en datarechten. Gebruik dit uitsluitend voor tijdelijk noodtoegang en schakel het daarna direct weer uit. Laat nooit productiegebruikers met deze vlag werken. - SSO-configuratie: Voor federatieve aanmelding (Azure AD / SAML) vul je
ExternalAccountName(UPN) enIdentityId(Object ID) in. StelUseExternalAuthentication = truein zodat Ultimo de externe provider gebruikt. Zie ook sso-federated. - FailedLogOnAttempts bewaken: Ultimo kan accounts na een ingesteld aantal mislukte pogingen blokkeren. Controleer dit veld bij support-tickets over 'wachtwoord vergeten' of geblokkeerde accounts.
- GroupSetting voor gedeelde UI-configuratie: Via
GroupSettingkunnen dashboards, zoekinstellingen en startpagina-configuraties voor een groep gebruikers worden gedeeld zonder dat iedereen individueel moet worden ingesteld. - ChangePassword-vlag: Stel
ChangePassword = truein bij het aanmaken van accounts of na een wachtwoordreset door beheer, zodat de gebruiker verplicht is een eigen wachtwoord te kiezen. - ExecuteAsUser in connectors: Import- en exportconnectors (
ImportConnector.ExecuteAsUser,ExportConnector.ExecuteAsUser) en geplande workflows gebruiken een specifiek User-account voor rechtencontrole. Gebruik een dedicated service-account met minimale rechten, nooit een persoonlijk account.
Database Detailsbewerken
De tabel dba.SUSER bevat 40 kolommen, 0 eigen trigger(s), 0 externe triggers en 3 foreign keys.
Belangrijke defaultsbewerken
| Kolom | Default |
|---|---|
SUSEContext |
0 |
SUSERecStatus |
0 |
SUSEALLOWMULTITIMEZONE |
0 |
SUSECHANGEPASSWORD |
1 |
SUSEENCRYPT |
1 |
SUSEFAILEDLOGONATTEMPTS |
0 |
SUSEISSYSTEM |
0 |
SUSEISUSEDBYULTIMO |
0 |
SuseMenuCollapsed |
0 |
SuseRecAutOptional |
0 |
SUSEREFRESHREMFREQ |
0 |
SUSEREFRESHREMINDER |
0 |
SuseSecurityStamp |
lower(newid()) |
SUSESUPER |
0 |
SuseUCTMenuCollapsed |
0 |
Brondatabewerken
Let op: De wiki-samenvatting hierboven toont een curated subset van properties en praktische consultant-tips. Voor ground truth (exacte kolomnamen, alle properties, defaults, triggers) gebruik de onderstaande tools.
- Entity-definitie —
lookup_entity("User")· reference/entities/User Alle properties, contexts en statussen. Bron:Entities.xml. - DB-schema —
lookup_table_schema("SUSER")· reference/tables/SUSER Alle DB-kolommen, triggers, computed columns en defaults. Bron:database-schema.json. - Gerelateerde workflows —
find_workflows("", entity="User")Alle Before/After Save events en andere workflow-ActionFields. Bron:workflows.xml.
Zie ookbewerken
- employee - Medewerkerrecords die aan gebruikers worden gekoppeld
- sso-federated - SSO/SAML-configuratie voor externe authenticatie
- import-connector - Importconnectors die als specifieke gebruiker worden uitgevoerd
- export-connector - Exportconnectors die als specifieke gebruiker worden uitgevoerd
- autorisatie - Scherm- en datarechten die per gebruiker/groep worden ingesteld
- ldap-scim - LDAP/SCIM-koppeling voor automatisch provisioneren van gebruikers