Et “hemmeligt” SQL-kodeord

Jeg er kommet i tanke om lidt mere gammel XAL-funktionalitet som er overlevet i C5. Det er ikke alt for godt dokumenteret – så det skulle dette indlæg gerne rette op på.

På trods af dette indlæg skal det understreges at man faktisk altid bør opsætte sin nyere C5 på SQL til at bruge Windows Authentication – for så er det med hvordan C5 får fat på SQL-serveren nemlig overladt til Windows og SQL-serveren – og så må de jo selv finde ud af det i fællesskab :-).

Men et meget brugt alternativ (og noget der var nødvendigt før version 2010) er at definere det med parametrene -zu<brugernavn> og -zp<kodeord> i c5.ini-filen i C5-kataloget.

MEN det kan jo også blive så simpelt så selv alm. brugere kan finde ud af at stjæle disse oplysninger og så åbne en adgang til C5s tabeller via Excel eller Access. Og da det jo ikke er verdens bedste ide at begynde at opdatere C5s database den vej, er det oplagt lige at lave det en tand mere svært.

C5 (og XAL) har faktisk en lidt overset mulighed for at lagre SQL-kodeordet direkte i database metadata-filen c5direct.c5s (bemærk – filen hed før version 2010 c5direct.sys). Og selv om den slags naturligvis også kan “knækkes” så gør det i hvert fald at de alm. brugere ikke er i stand til at finde koden. Men man skal naturligvis ikke basere sin sikkerhed på denne funktionalitet.

Tricket er:

  1. Definer i første omgang kodeordet med -zp i c5.ini på alm. vis
  2. Start C5 og gå til udviklingsmenuen, punktet XAL/Kør og vælg SQL-Login
  3. Vælg Parameter=PASSWORD og tast kodeordet 3 gange (som gammel kode, som ny kode og for at bekræfte den nye kode).
  4. Luk nu C5, fjern kodeordet defineret med -zp i c5.ini

Nu skulle C5 gerne kunne starte uden kodeord i c5.ini, idet kodeordet læses fra c5direct.c5s-/.sys-filen. Bemærk dog at brugernavnet fortsat skal fastlægges i c5.ini og at et evt. kodeord i c5.ini ALTID vil overstyre kodeordet i c5direct.c5s-/.sys, så man kan ikke lukke sig selv ude af sin C5 på den her måde 🙂

 

Tilføjet 30/6-2015:
Bemærk at C5 og XAL arbejder med et standard login og kodeord. De benyttes hvis ikke andet er angivet. De er hhv.:

  • Login: xal_supervisor
  • Kode: xal_supervisor_psw
    Bemærk: Vi har dog erfaret at nogle Klassisk Dynamics C5 kerner er født med standard-kodeordet: XAL_SUPERVISOR_PSW (altså ene store bogstaver) fremfor xal_supervisor_psw