[Allegro] Trick 54: Von Rechts wegen...

Bernhard Eversberg ev at biblio.tu-bs.de
Mo Aug 20 15:21:57 CEST 2007


Trick 54:  Von Rechts wegen ...

Aufgabe: Beim Start automatisch prüfen, ob die Rechte ausreichen.

Warum: Es kommt vor, daß z.B. der Administrator einem Nutzer von a99
        zu geringe Rechte zugeteilt hat. Der wundert sich dann, daß er
        keine Daten korrigieren kann oder die TBL nicht freigeben etc,
        Derlei Irritation sollte sich verhüten lassen.

Lösung: Dafür kann man sich folgende Sequenz in den _start.flx
         einbauen. An die ausgelieferte kann man dies einfach
         unten anhängen.

   ------------------------------------------------------------
   1./2. Schreibrecht auf Temp- und Start-Verz. prüfen

var M "testdatei"
open x
if no perform nom
close x

var W "\\testdatei"
open x
if no jump now
close x

   3. Prüfen, ob access-Zahl und tatsächliche Berechtigung gleich sind
   Tatsächl. Berechtigung:
var A
ins #uzB
   Trick 17, um die INI-Einstellung  access=...  zu ermitteln:
var "F" V
var
var (b"~access" e"^M" e" " f" =")
   Beides vergleichen:
if not =#uzB mes Berechtigung auf Datenverz. reicht nicht zum Schreiben!
end

:nom
var "Kein Schreibrecht auf dem temp. Verzeichnis " M
mes
return
:now
var "Kein Schreibrecht auf dem Arbeitsverzeichnis " W
mes
end
   ------------------------------------------------------------

Der Trick ist nur, daß die tatsächliche Berechtigung A beim Start
automatisch auf 0 geht, wenn auf dem Datenverzeichnis kein Schreibrecht
besteht. Die INI-Einstellung "access=..." wird mit Trick 17 ermittelt.
Sie gilt dann aber womöglich nicht, weil der Admin das Schreibrecht auf
dem DbDir nicht eingeräumt hat.





Mehr Informationen über die Mailingliste Allegro