Introduktion
En Odoo AccessError dukker op, når systemet stopper en bruger fra at se, ændre eller slette en post fordi de mangler de rette rettigheder. Den er et sikkerhedstiltag — ikke en programfejl — og viser, at Odoo håndhæver adgangsreglerne efter konfigurationen i din installation.
Fejlmeddelelsen vises typisk i brugerfladen som en kort tekst, der fortæller, at handlingen ikke er tilladt.
AccessError: You are not allowed to access this document.
Dette er ikke en fejl i koden, men Odoos indbyggede adgangskontrol, som beskytter data ved at blokere uautoriserede handlinger.
Denne guide gennemgår, hvorfor AccessError opstår, og hvordan du løser det uden at skabe sikkerhedshuller eller give for brede rettigheder.
Hvad betyder en AccessError i Odoo?
Odoo bygger sin adgangskontrol op i lag, hvor hver lag kan stoppe en handling hvis betingelserne ikke er opfyldt:
- Brugergrupper
- Access Control Lists (ACL’er)
- Record rules (postfiltre)
- Multi-company-restriktioner
Når en bruger forsøger at læse, skrive, oprette eller slette, og ét af disse lag afviser operationen, kaster Odoo en AccessError.
Fejlen ses hyppigst i brugergrænsefladen, men kan også opstå i automatiserede processer og baggrundsjob.
Typiske årsager til AccessError i Odoo
1. Manglende modelniveau-retning (ACL-problem)
Access Control Lists afgør for hver model hvilke grupper der må udføre bestemte handlinger.
- Læse
- Skrive
- Oprette
- Slette
Hvis brugerens gruppe ikke har den nødvendige rettighed, blokerer Odoo handlingen.
Eksempel:
En sælger forsøger at ændre bogføringsoplysninger uden at have regnskabsrettigheder.
2. Postregel (record rule) begrænser adgangen
Record rules bruger domæner til at filtrere hvilke poster en bruger kan se eller ændre.
Eksempel:
Et typisk domæne kunne være [('user_id', '=', user.id)] — altså kun poster knyttet til den aktuelle bruger.
Hvis den konkrete post ikke matcher domænet, afvises adgangen.
Derfor virker noget ofte korrekt for en admin, men fejler for almindelige brugere: de er underlagt strengere record rules.
3. Multi-company-konfiguration
Poster placeret i en anden virksomhed er ikke nødvendigvis synlige, når en bruger opererer i en anden firmakontekst.
Det er et almindeligt problem i installationer med flere selskaber.
4. Konflikt ved arvede gruppe-rettigheder
Brugere kan tilhøre flere grupper, og disse kan give modstridende rettigheder.
Komplekse gruppehierarkier fører nemt til utilsigtede begrænsninger.
5. Fejlkonfigurerede sikkerhedsindstillinger i custom-moduler
Egne moduler kan definere forkerte sikkerhedsregler, som bryder adgangen.
- Forkerte ir.model.access poster
- Record rules (postfiltre)
- Fejl i gruppeattributioner
Disse fejl kan gøre, at nødvendige brugere pludselig ikke har adgang.
Sådan retter du en AccessError i Odoo
Trin 1 – Tjek brugerens grupper
Gå til:
Indstillinger → Brugere & Selskaber → Brugere
Se hvilke grupper brugeren er medlem af.
Sørg for at den rigtige adgangsgruppe er tildelt.
Trin 2 – Gennemgå Access Control Lists (ACL)
Naviger til:
Indstillinger → Teknisk → Sikkerhed → Access Control Lists
Bekræft at den pågældende model tillader de nødvendige rettigheder for brugerens grupper.
Trin 3 – Inspicer record rules
Naviger til:
Indstillinger → Teknisk → Sikkerhed → Record Rules
Undersøg hvilke domæner der er sat på modellen.
Deaktiver midlertidigt mistænkelige regler for at teste adgangen i et sikkert miljø.
Trin 4 – Test med Administrator
Hvis administratoren kan udføre handlingen men almindelige brugere ikke kan, er det med stor sandsynlighed en sikkerhedskonfiguration der blokerer.
Trin 5 – Tjek multi-company kontekst
Skift firmakontekst og se om posten bliver tilgængelig under den korrekte virksomhed.
Forebyg AccessError i fremtidige Odoo-projekter
- Hold sikkerhedsregler enkle og klare
- Undgå komplekse eller overrestriktive domæner
- Dokumenter alle ændringer i custom ACL’er
- Test nye moduler med almindelige brugere, ikke kun admin
- Revider multi-company indstillinger regelmæssigt
Sikkerhed i Odoo bør være restriktiv, men også forudsigelig — brugerne skal kunne forstå hvorfor noget er skjult.
Overkomplicerede record rules er en hyppig kilde til driftsproblemer og supporthenvendelser.
Sådan opbygger Dasolo sikker adgangsstyring i Odoo
AccessError peger typisk på en uoverensstemmelse mellem brugerrettigheder, record rules og virkelige arbejdsprocesser. Bag den simple fejlmelding gemmer der sig ofte en mindre eller større konsistensfejl i sikkerhedsopsætningen.
Hos Dasolo griber vi adgangsproblemer an ved at gennemgå hele rettighedsarkitekturen fremfor at give hurtige, brede rettigheder. De største syndere er typisk:
- Modstridende eller overlappende record rules
- Forkerte eller mangelfulde brugergrupper
- Begrænsninger som følger af multi-company opsætning
- Glemte eller forkerte adgangsrettigheder i custom-moduler
- Integrationsbrugere uden nødvendige rettigheder
Vores løsning er at bygge lagdelte, forretningsorienterede permission-modeller: små, klare grupper, gennemsigtige record rules og præcis adgang for integrationsbrugere. Det mindsker uventede AccessError-situationer uden at ofre databeskyttelse.
Konklusion
Odoo’s AccessError opstår når en bruger forsøger en handling uden de rette rettigheder. Ofte er årsagen ikke simpel uautorisation men forkert opstillede record rules, gruppeattributioner eller multi-company indstillinger.
Ved at gennemgå rettigheder, rydde op i gruppeopbygningen og sørge for at record rules svarer til de faktiske arbejdsprocesser, kan udviklere og konsulenter forebygge gentagne adgangsproblemer. En veldefineret og gennemsigtig sikkerhedsmodel er afgørende for både effektiv drift og dataintegritet.
At løse AccessError korrekt styrker styringen af systemet og sikrer, at Odoo-miljøet forbliver sikkert og forudsigeligt når det vokser.