Avatar billede christiann Nybegynder
24. august 2000 - 10:38 Der er 3 kommentarer

Directory rights

Hej allesammen!

Jeg har en database applikation, der kører på en server.

Selve databasen er en DB4, til hvilken jeg benytter en database engine kaldet Topaz (kan varmt anbefales til mindre databaser (50-100K poster!), er et købeprogram, enginen integreres fuldt i den færdige exefil, ingen problemer med at fedte med BDE eller lign.).

Imidlertid er det nødvendigt for mig at vide hvilke rettigheder brugerne har til det bibliotek databasen ligger i før den åbnes, og da der skal være forskellige niveauer af brugere, vil de have forskellige rettigheder.

Jeg vil ikke lade programmet styre rettigheder, da en bruger jo så kan \"gå bagom\" med en treidie parts database, og brugerene skal heller ikke bøvle med at vide det.

Endvidere så ved jeg ikke på forhånd om data vil ligge på en NT eller en Novell server, så jeg kan ikke benytte serverspecifikke kommandoer.

Så kogt ned, er det noget med at lave et check under opstart:

Må jeg læse
Må jeg skrive
Må jeg oprette
Må jeg slette

Nogen der har et godt forslag

/Christian
Avatar billede sjensen Nybegynder
24. august 2000 - 11:00 #1
Du kan bruge API kald til at finde den pågældende brugers rettigheder, men du kan selvfølgeligt også lave en lille rutine der checker om brugeren kan læse en fil, og hvis, derefter om brugeren kan oprette en (skab en temp fil) og check at den efterfølgende findes. Hvis det virker prøv at skrive i den (oprette og skrive er nu det samme så skrive burde ikke være nødvendigt hvis du kan oprette). Enbdeligt kan du prøve at slette den igen, og checke at den virkeligt er væk.

Ulempen ved denne lille, simple funktion, er at der bliver oprettet en masse filer og hvis brugeren godt kan oprett men ikke slette vil der være en række filer der aldrig forsvinder.

Men.. Jeg tror nu nok at du kun behøver at checke for læse/skrive. Hvis du kan skrive kan du givetvis også slette.

Selvfølgeligt er API kaldene det mest korrekte og den vej du burde gå, men hvis det er for besværligt kan du bruge denne \"hjemmelavede\" mulighed.
Avatar billede delphi Nybegynder
28. august 2000 - 09:10 #2
Jeg vil nu gå en tand videre og istedet anbefale InterBase ver. 6 frem for Topaz.  Jeg vil til hver en tid anbefale en ægte SQL database, hvor der er langt bedre muligheder for at styre brugernes rettigheder med GRANT\'s, Views, Stored Procedures, triggers etc. etc.

Interbase 6 er gratis, både til server og client, og fylder ærlig talt meget lidt.

NiP
Avatar billede christiann Nybegynder
12. oktober 2000 - 09:08 #3
Ups, her gik lidt lang tid!

Æhh Sjensen, kan du gi et hint om hvor jeg kan finde noget beskrivelse af how to do, mht. API kaldene?

Mht. Interbase er alle argumenterne rigtige nok, men af andre grunde, så er den konkrete base lavet som dBase.
Endvidere er der en kæmpe fordel, nemlig at ALT ligger i exe filen, dvs. programmer skal bare kopieres ned i biblioteket, lissom i de gode gamle DOS dage!

Christian
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester