UB BRAUNSCHWEIG
Symbolfoto
  • Impressum
  • Startseite
  • allegro-C von A-Z
  • Druckversion


a30 - Plattformunabhängiges Programm zur Nutzung von allegro-Datenbanken im Netz auf der Basis des Systems "Adobe Flex"


5. Sicherheit, Authentifizierung
Das Verfahren ist einfacher als bei PHPAC; es sind insbes. keine speziellen Datensätze in der Datenbank nötig.
Folgendes ist zu tun, um die Nutzung der Schreibfunktionen nur nach Identifikation des Nutzers zu erlauben:

Soll KEINE Absicherung erfolgen, dann MUSS in der  a30_ini.php  stehen:
$Ident = "no";
Wie die Ident-Funktionen aufzurufen sind, ist in der Datei  a30son.htm  der DemoBank zu sehen ("Sonderfunktionen").
(Diese Zeilen kann man auch in eine eigene .htm-Datei übernehmen)
Default ist somit, daß Identifizierung verlangt wird, also ohne kein Schreibzugriff gegeben ist.

1. Drei Formulare dafür werden im
FreiRaum bereitgestellt
"Identifikation" : das bedeutet soviel wie "login"
"Registrierung"  : Nur bei der erstmaligen Nutzung auszuführen
"Neues Passwort" : jederzeit kann der Nutzer sein Paßwort ändern

Diese Formulare werden von  a30id.job  erzeugt und verarbeitet, welcher aus  a30son.htm  aufgerufen wird.
Das "LogOff" geschieht ohne Formular.
  
2. Anlegen einer Id-Datei für einen neuen Nutzer
An das Datenbankverzeichnis, z.B. c:\allegro\demo2, hängt man einen Ordner namens  users
Derjenige, der avanti startet, muß dort Schreibrecht haben.
In diesen Ordner stellt der Admin für jeden berechtigten User eine Datei, und zwar
mit dem  username  als Dateiname (ohne Extension), also z.B.  schmitz
In diese Datei schreibt er nur  ***  hinein, was bedeutet, daß  schmitz  sich noch nicht registriert hat,
aber dazu berechtigt ist. (s.u. Anm.)


3. Paßwort-Vergabe durch den Nutzer selber bei erster Nutzung
Das geht über das Formular "Registrierung"
Spätere Paßwort-Änderung über "Neues Passwort"
Dadurch wird  ***  durch das codierte Paßwort ersetzt.
Der Admin setzt darunter eine Zeile, in der nur  admin  steht, wenn dieser Nutzer auch Administratorrechte haben soll.

4. Verfahren im Routinebetrieb
In jeden Job, der abgesichert werden soll, baut man diese Zeile ein, und zwar vor die erste Stelle, die nur angemeldeten Nutzern zugänglich sein soll:

  perf authent
   // Abgesicherte Aktionen. Bei falscher Eingabe des Paßworts geht's hier nicht weiter

   Und ganz unten dieses Unterprogramm (a30 liefert  #uID  nach Identifikation jedesmal mit, wenn ein Job gestartet wird):

   :authent
   var #dts(0,8) #uID(e"K")
   crypto
   ins #uid
   var #uID(e"K") "K" #uid
   ins #uid
   if #uid = #uID return  
// OK, es wird kommentarlos zurückgekehrt
   if not #uid = #uID wri "_!_POP Sorry, Keine Berechtigung, bitte erst identifizieren!_!_FOR Identifi" n
   end  // d.h. keine Rückkehr, wenn Pw. falsch

Die Identifikation verfällt immer um Mitternacht, kann jedoch dann für den gesamten neuen Tag wieder erneuert werden. Endlos lange Sitzungen werden so verhindert, denn in Wahrheit arbeitet das System ja "sitzungslos", weil via HTTP.

Anm.: Der Admin, der die Userdateien einrichtet, kann so verfahren:
a) Dem User gleich nach Einrichten der Userdatei mitteilen, daß er eingetragen ist und sich nun
    mit einem Paßwort seiner Wahl registrieren kann, ODER
b) Den Nutzer zunächst mit einem temporären Passwort selber registrieren und ihm
    dieses mitteilen, mit der Empfehlung, es sofort zu ändern.

Die Funktionen zur Authentifizierung stehen alle auf dem Menü "Sonderfunktionen" (a30son.htm), das man vom normalen Menü aus erreicht.
Ausgeführt wird alles von  a30id.job, darin steht auch der Name "users" des Ordners für die Nutzerdateien, d.h. hier kann man diesen Namen auch ändern.
Die Funktion zum Identifizieren kann z.B.  so ausgelöst werden:   X a30id--Vufu=Id  oder mit einem event-Link:  event:X a30id--Vufu=Id

5. Wie der Administrator die Authentifizierung einrichtet
Der Administrator führt zuerst, wenn eine neue Datenbank auszustatten ist, folgende drei Schritte aus:
1. Den Ordner  users  unterhalb des DbDir anlegen, also z.B.  c:\allegro\demo2\users
2. Dort für sich selbst eine Datei  xyz  anlegen mit dem Inhalt *** (wenn  xyz  sein eigener username sein soll)
3. Sich selbst registrieren; dabei wird  ***  durch das codierte Paßwort ersetzt
4. An die Datei  xyz  eine Zeile mit Inhalt  admin  anhängen. Nun kann er neue User ganz leicht eintragen:


6. Neuen Nutzer per Browser eintragen
Ferner gibt es einen Job  a30nwu.job, mit dem der Admin einen neuen User per Browser anlegen kann. Aufgerufen wird dies mit Eingabe von
X a30nwu  im Eingabefeld von a30.
Es kommt dann ein Formular mit drei Zeilen:
Name:                       Name des neuen Users (wird dann als Dateiname im Ordner "users" angelegt), *** reingeschrieben
Admin-Name:             username des Admin
Admin-Passwort:         Paßwort des Admin

ein Kapitel zurück zurück zum Inhaltsverzeichnis ein Kapitel vor



[i] zuletzt aktualisiert: 03.05.2011
Email: ub@tu-bs.de