[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