Aanmelden, wisselen en je weg vinden
Deze pagina beschrijft de drie dingen die je elke dag doet: aanmelden, wisselen tussen accounts of rollen, en navigeren.
Geschreven voor: Klant, Reseller, Beheerder
Deze pagina beschrijft de drie dingen die je elke dag doet: aanmelden, wisselen tussen accounts of rollen, en navigeren.
Aanmelden
Je meldt je aan op het adres waar je hosting draait. Dat is het adres dat je van je hostingpartij hebt gekregen — bijvoorbeeld panel1.corecp.dev, of het eigen adres van je reseller. Het aanmeldscherm draagt de naam, het logo en de kleur van díe partij; dat is geen ander product, het is hetzelfde paneel onder een andere naam.
- Vul je e-mailadres en wachtwoord in.
- Heb je een passkey op dit adres? Dan vraagt je browser of apparaat daarom.
- Heb je die niet, maar wel tweestapsverificatie? Dan vul je de zescijferige code uit je app in.
- Je komt in de context waar je de vorige keer was.
Drie dingen om te weten:
- Eén wachtwoord, overal. Je e-mailadres is je identiteit. Werk je bij twee hostingpartijen die allebei CoreCP gebruiken, dan is dat één wachtwoord — maar je ziet op elk adres alleen wat daar hoort. De ene partij ziet nooit dat je bij de andere klant bent.
- Plakken werkt altijd. Wachtwoordmanagers worden niet tegengewerkt.
- Kwijt is niet buitengesloten. Bij het instellen van een passkey krijg je herstelcodes. Bewaar ze; ze zijn de weg terug als je apparaat weg is.
Ben je je wachtwoord kwijt, dan stuurt het paneel een herstelmail in de huisstijl van hetzelfde adres — nooit met de naam van een andere partij erin.
De eerste keer, als je niveau tweestapsverificatie vereist
Beheerders en serverbeheerders moeten een tweede factor hebben. Heb je die nog niet, dan ziet je allereerste aanmelding er zo uit:
- Je vult je e-mailadres en wachtwoord in en drukt op Aanmelden.
- Het wachtwoord klopt, maar je bent nog niet binnen: je sessie is een halve sessie tot er een tweede factor is.
- Je komt daarom niet op het overzicht uit, maar direct op Tweestaps- verificatie instellen — met een QR-code, de sleutel eronder om over te typen, en een veld voor de code uit je app.
- Scan de code, vul de zescijferige code in, druk op Activeren.
- Je krijgt je herstelcodes. Bewaar ze; dit is het enige moment dat ze te zien zijn. Druk op Ik heb ze opgeslagen en je bent binnen.
Je kunt die stap niet overslaan en je hoeft hem maar één keer te doen. Wil je later liever een passkey, dan zet je die erbij onder Mijn account → Aanmelden & beveiliging; zie Je account beveiligen.
Was dit stuk voor je? Tot en met paneelversie 0.17.6 bleef het aanmeldscherm bij deze stap gewoon staan: geen foutmelding, geen doorverwijzing, alsof er niets gebeurde. Er wás niets mis met je wachtwoord — het scherm stuurde je naar de instelpagina zonder eerst te melden dat je halverwege was, waarna de bewaking je terugzette. Vanaf 0.17.7 land je waar je hoort. Blijf je toch hangen, meld dan welke paneelversie onderin de zijbalk staat.
Vanaf de opdrachtregel is dezelfde toestand zichtbaar aan het antwoord van de API: state is totp_required en enrol_totp is true.
curl -s -X POST https://panel1.corecp.dev/api/v1/auth/login \
-H 'Content-Type: application/json' \
-d @- <<'JSON' | jq .
{"email":"beheerder@example.com","password":"…"}
JSON
# {"state":"totp_required","enrol_totp":true,"passkey_nag":true}Het wachtwoord staat hier in een here-document en niet achter -d '…': alles wat je op de opdrachtregel meegeeft is voor elke andere gebruiker van die machine leesbaar in /proc.
De taal van het paneel
Het paneel spreekt Nederlands en Engels. De schakelaar NL / EN staat op twee plekken, en beide zetten hetzelfde:
- op het aanmeldscherm, rechtsboven naast de licht/donker-knop;
- in het accountmenu, onderaan de zijbalk, achter je e-mailadres.
Wat er gebeurt als je klikt:
| Waar je klikt | Wat er verandert | Hoe lang het blijft |
|---|---|---|
| Aanmeldscherm (nog niet aangemeld) | Het scherm zelf, direct | In deze browser — en zodra je je aanmeldt, wordt hij bij je account vastgelegd |
| Accountmenu (aangemeld) | Het hele paneel, direct | Bij je account — dus ook op je telefoon, je werklaptop en in elke e-mail die wij je sturen |
Kies je een taal voordat je bent aangemeld, dan blijft die staan. Je keuze wordt bij het aanmelden meegenomen en bij je account vastgelegd; hij wordt niet overschreven door wat er nog bij je account stond. Dat is het verschil tussen een keuze en een gok: als het paneel je taal ooit uit je browser heeft afgeleid, wint jouw klik daarvan — ook als je die klik op het aanmeldscherm maakte.
Lukt het vastleggen niet — een haperende verbinding, het paneel even onbereikbaar — dan krijg je dat te zien, en blijft je keuze bewaard: de volgende keer dat je het paneel opent, probeert het opnieuw. Een taal die verdwijnt zonder dat iemand iets zegt, hoort niet te bestaan.
De tweede regel is het verschil dat telt. Een taal die je zelf hebt gekozen is vanaf dat moment jouw keuze: het paneel raadt daarna nooit meer een taal uit wat je browser toevallig vraagt, en ook een aanmelding op een geleende computer verandert er niets meer aan. Diezelfde keuze is de taal van elke systeemmail — zie E-mail die wij je sturen.
Dezelfde keuze staat, met wat meer uitleg eromheen, ook onder Instellingen → Weergave. Er is geen verschil tussen de twee: het is één instelling.
Sprong je taal telkens terug naar Engels? Dat is opgelost in 0.17.7. De schakelaar in de balk zette de taal wel op je scherm, maar vertelde het je account niet — en bij de eerstvolgende keer dat het paneel je account uitlas, kreeg je de oude taal weer terug. Kies je taal één keer opnieuw en het blijft staan.
Wisselen van account of rol
Linksboven, direct onder de productnaam, staat de accountwisselaar. Die is op elk scherm zichtbaar, en met opzet: de context bepaalt wat elk getal op de pagina telt.
De wisselaar toont per regel:
- de naam van het account of de groep;
- wat je daar bent — Beheerder, Reseller, Gebruiker;
- tijdelijk als je toegang een einddatum heeft.
Klik op een regel om te wisselen. Je hoeft niet opnieuw in te loggen: je hield al de rechten van beide contexten, en het paneel wisselt van pet. Je komt op het overzicht van de nieuwe context uit — de vorige pagina zou daar niets betekenen.
Heb je maar één context, dan valt er niets te kiezen — maar de wisselaar blijft een knop. Klik erop en je krijgt een kort venster met wát deze context is: de naam, je niveau, de groep waar hij onder valt, en een einddatum als je toegang tijdelijk is. Onderaan staat één zin die uitlegt dat je hier van context wisselt zodra je er meer dan één hebt. Een stuk tekst dat nergens op reageert laat je namelijk raden of het een knop is; dit venster geeft antwoord.
Wisselen kan niet terwijl je als iemand anders bent ingelogd. Klik je dan op de wisselaar, dan legt hetzelfde venster uit wáárom niet — in plaats van alleen een slotje te tonen. Boven in beeld staat een balk met "je bent ingelogd als …" en één knop om daarmee te stoppen. Stop eerst, wissel daarna.
Op je telefoon
De wisselaar staat ook in het uitschuifmenu: tik onderaan op Meer en hij staat bovenin, op dezelfde plek als op een groot scherm — onder de merknaam, boven de menu-items. Wisselen werkt daar precies zo. (Tot deze versie stond hij er niet, en kon je op een telefoon niet zien in welke context je zat.)
De volgende keer dat je aanmeldt, kom je terug in de context die je het laatst gebruikte.
Waar je bij mag: het account, niet de server
Wat je in een context kunt bereiken, hangt van twee dingen af — en sinds 10 augustus 2026 van precies die twee en geen derde:
- het hostingaccount hoort bij jouw realm (het root-realm, of dat van je reseller);
- het is van jou, of van een van je klanten als je reseller bent.
De machine waar het account op staat, telt niet mee. Dat klinkt vanzelfsprekend maar was het niet: tot 10 augustus 2026 werd de machine als derde eigendomsvraag gesteld, dus zodra je klant was van een reseller terwijl de server in de root-groep stond, kreeg je 403 node_out_of_scope op je eigen website — op e-mail, DNS, FTP, bestanden, back-ups en WordPress allemaal. Dat is weg. Voor beheerders en serverbeheerders telt de machine nog wél mee, want die beheren machines; zie Waar een website draait.
Er is niets ruimer geworden. Merk je iets anders — je ziet iets dat niet van jou is, of je komt niet bij iets dat wél van jou is — meld dat dan, want dan is er iets stuk.
Zelf controleren wat je sessie mag, vanaf je eigen computer:
# meld je aan en bewaar de sessie
curl -sk -c /tmp/corecp.jar -X POST https://panel1.corecp.dev/api/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"owner@test100.nl","password":"..."}' >/dev/null
# wie ben je, en in welk realm
curl -sk -b /tmp/corecp.jar https://panel1.corecp.dev/api/v1/auth/session | \
python3 -c 'import json,sys;u=json.load(sys.stdin)["user"];print(u["email"],u["level"],u["organization_name"])'owner@test100.nl user Reseller Test BV# en welke hostingaccounts dat oplevert
curl -sk -b /tmp/corecp.jar https://panel1.corecp.dev/api/v1/accounts | \
python3 -c 'import json,sys;[print(r["account"]["username"]) for r in json.load(sys.stdin)]'demoEén account, want dat is er één van jou — en het staat op een machine in het root-realm, wat je nergens aan merkt. Een reseller ziet er in dezelfde opdracht meer, een beheerder alle.
Je weg vinden
Het skelet is voor iedereen hetzelfde; je ziet alleen minder als je minder mag.
| Waar | Wat |
|---|---|
| Linkerkolom | Maximaal zeven hoofdonderdelen. De onderdelen van het deel waar je bent, staan eronder. |
| Bovenbalk | Zoeken (⌘K / Ctrl-K), de bel, licht/donker, en help — altijd op dezelfde plek. |
| Onderbalk (telefoon) | De eerste vier bestemmingen plus Meer voor de rest. |
⌘K (of Ctrl-K) opent het opdrachtenvenster. Typ een deel van een naam en je springt er direct heen: een hostingaccount, een server, of een van de acties — e-mail, DNS, back-ups, een uitrol, een terminal. Het is een sneltoets, geen verstopte functie: alles wat erin staat, staat ook in het menu.
De bel rechtsboven verzamelt wat er is gebeurd: een uitrol die is gestopt, een taak die klaar is, een back-up die mislukte. Een rode melding komt ook één keer als tijdelijke melding in beeld; de rest wacht rustig in de bel.
Vanaf de opdrachtregel
Wie liever typt, doet hetzelfde met corectl op de paneelserver:
# Welke contexten heeft een persoon, en waar staat die nu?
corecp-panel identity status
# Wie mag er inloggen-als (dat recht staat per lidmaatschap uit)?
corecp-panel admin impersonation list
# Iemand het recht geven (of afnemen) om als een ander in te loggen
corecp-panel admin impersonation allow axel@xynta.nlDe API kent dezelfde twee stappen als de wisselaar:
# Welke contexten heb ik op dit adres?
curl -s https://panel1.corecp.dev/api/v1/auth/contexts \
-H "Cookie: $COOKIE" | jq '.contexts[] | {label, level, membership_id}'
# Wissel naar er een
curl -s -X POST https://panel1.corecp.dev/api/v1/auth/context \
-H "Cookie: $COOKIE" -H "X-CoreCP-CSRF: $CSRF" \
-H 'Content-Type: application/json' \
-d '{"membership":"<membership_id>"}' | jq '.user.level'De sessie die je terugkrijgt vervangt de oude; de oude wordt onmiddellijk ingetrokken.
Naar webmail en phpMyAdmin, zonder opnieuw in te loggen
De knoppen die je in webmail of phpMyAdmin brengen, openen een tabblad en melden je daar aan met een eenmalig kaartje dat negentig seconden geldig is. Dat kaartje reist in de body van het formulier, nooit in de adresbalk — het staat dus niet in je geschiedenis en in geen enkel logboek.
Een tijdlang deden die knoppen niets: het tabblad ging open en bleef op "Bezig met aanmelden…" staan. De oorzaak was een beveiligingsregel van het paneel zelf, die een formulier verbiedt om naar een ander adres te versturen. Het paneel houdt die regel — hij beschermt je tegen precies het misbruik waar hij voor bedoeld is — en geeft de aanmelding nu door via zijn eigen adres, dat als enige antwoord die ene uitzondering draagt.
Wat je ervan merkt: het tabblad opent, zegt kort wat het doet, en landt in webmail. Duurt het te lang, dan zegt het dat ook, met een knop om het opnieuw te proberen — in plaats van te blijven hangen.
# de controle die dit bewaakt, in een échte browser
node corecp-panel/web/scripts/ui-flow-signon.mjs --url=https://panel1.corecp.dev
# ok the tab went on to webmail.test100.nl — the sign-on is allowed to leaveNaar wp-admin, zonder opnieuw in te loggen
Naast webmail en phpMyAdmin geldt hetzelfde voor je WordPress-sites: op Websites → WordPress, in het venster van een site, staat Naar wp-admin. Er opent een nieuw tabblad dat na een tel ingelogd in het beheerscherm van die site staat.
Alle drie de knoppen werken op dezelfde manier: het tabblad gaat open op het moment dat je klikt — daarom laat je browser het door — en wordt daarna naar de juiste plek gestuurd. Zie je geen nieuw tabblad, dan blokkeert je browser pop-ups voor het paneel; sta ze toe voor deze site.
De sleutel achter zo'n knop krijg je nooit te zien, en dat is met opzet: hij is één keer bruikbaar en wie hem heeft komt binnen.