Mit Benutzerverwaltung ist die globale Verwaltung der Benutzer gemeint. Diese gilt sowohl für die Benutzer mit Berechtigung selbst am System zu arbeiten (Administratoren) als auch für "Besucher". Als Besucher betrachten wird diejenigen Benutzer, die die fertige Website besuchen evtl. auch in gesperrte Bereiche dürfen, jedoch nicht selbst Informationen einpflegen.
Für diese Besucher können extra Rechtegruppen definiert werden, um einzelne Bereiche nur selektiv zugänglich zu machen.

Die Benutzerverwaltung kann über die Gruppe [USER] in der Datei cms.ini bestimmt werden.
Anzugeben sind die Meldungen des Systems bei bestimmten Aktionen, das Verhalten z.B. bei der Neuanmeldung und weitere Informationen die über Ihre Benutzer gespeichert werden sollen.

Über das Modul Konfiguration (unter Tools) können Sie die Einstellungen auch etwas komfortabler und ohne direkten Zugriff auf die Dateien vornehmen.

Hier der komplette Abschnitt als Beispiel:

[USER]
errNamePW=Username oder Kennwort falsch.
errPW=Kein Kennwort angegeben.
errPW1PW2=Kennwort Wiederholung stimmt nicht überein.
errNameInUse=Der Username ist bereits vergeben. Bitte wählen Sie einen anderen.
errNoName=Sie müssen einen Usernamen angeben.
msgWait=Der Administrator hat Sie noch nicht freigeschaltet.
msgChange=Sie haben die Rechte nicht, die Daten zu ändern. Wenden Sie sich an den Systemverwalter.
msgRegistered=Die gewünschten Informationen sind nur für registrierte Benutzer. Bitte melden Sie sich an.
msgRight=Sie haben nicht die erforderliche Berechtigung.
msgNotEdit=Sie haben nicht das Recht Seiten zu Ändern. Wenden Sie sich an den Systemverwalter.
msgPWminlen=Das Kennwort muss mindestens 5 Zeichen lang sein.
msgPWeqNAME=Das Kennwort darf nicht gleich dem Usernamen sein.
msgNoChangeNewMail=<br><br>Bestätigungsemail kann nicht erzeugt werden.
msgLogout=Logout
self=1
no_change_default=1
waiting_default=0
minpwlen=5
pwneqname=1
mailpw=1
inform=hk@tdb.de
rightor=1
extra_1=Anrede
extra_2=Name
extra_3=Vorname
extra_4=Strasse
extra_5=PLZ
extra_6=Ort
extra_7=eMail
extra_8=Telefon
[REQUIRED]
Name=1
Vorname=1
eMail=1

Meldungen/Texte
Die Einträge err... und msg... geben Meldungen des Systems an. Diese können frei geändert werden.


Benutzerneuanmeldung

self=1 gibt an, dass sich Benutzer über ein Registrierformular selbständig neu anmelden können. self=0 schaltet diese Funktion ab.

no_change_default=X gibt die Standardeinstellung eines neuen Users beim Wert no_change an. Normalerweise kann jeder Benutzer seine eigenen Daten selbst ändern. Falls no_change gesetzt ist wird diese Funktion abgeschaltet. Mit no_change_default=1 wird also voreingestellt, dass ein User seine eigenen Daten nicht ändern darf.

waiting_default=X gibt an ob ein Administrator neue User erst freischalten muss. Steht ein User auf waiting kann er sich noch nicht am System anmelden. Ein Administrator muss die Daten erst überprüfen und dann waiting abschalten. Mit waiting_default=0 wird das quasi sofort erledigt. Das heißt, dass der Benutzer nach der Neuanmeldung sofort Zugruff erhält. Bei waiting_default=1 muss die Freischaltung durch den Administrator erfolgen.

minpwlen=X gibt die Mindestlänge der Kennwörter an. Wenn ein Benutzer sich neu anmeldet wird er aufgefordert ein Kennwort einzugeben. Um hier gewissen Grundanforderungen an die Sicherheit zu genügen kann man eine Mindestlänge für dieses Kennwort vorgeben.

pwneqname=1 gibt an, dass das eingegebene Kennwort nicht identisch mit dem Usernamen sein darf.

mailpw=1 gibt an, dass ein Benutzer nicht sofort Zugriff erhält. D.h. er kann nicht selbst sein Kennwort eingeben. Es wird eine automatische eMail an die bei der Registrierung angegebene eMail-Adresse geschickt. In dieser befindet sich das Kennwort um auf den Account zuzugreifen. Dadurch ist sichergestellt, dass die eMail-Adresse auch wirklich existiert. Näheres dazu auch in der Beschreibung zum Template login/new.

inform=... gibt eine eMail-Adresse an, an die eine Benachrichtigung verschickt wird, falls sich ein neuer User anmeldet.

rightor=1 gibt an, dass zum Betreten einer Seite nicht alle Rechte benötigt werden sondern nur Eines. Also Recht A oder Recht B statt Recht A und Recht B.

Zusätzliche Felder
Mit den extra_X=... Einträgen werden Felder der Datenbank angegeben, in denen weitere Informationen gespeichert werden. Diese Felder müssen auch tatsächlich in der Userdatenbank angelegt werden.
Um das zu erreichen müssen die Felder in custdef/usr_user.def angegeben werden. Hier die Datei für obiges Beispiel:

[STRUCTURE]
Anrede,STRING,20
Name,STRING,40
Vorname,STRING,40
Strasse,STRING,40
PLZ,STRING,5
Ort,STRING,40
Telefon,STRING,60

Wie sie vielleicht bemerken fehlt das Feld eMail-Adresse. Dieses ist bereits standardmäßig in der Datenbank vorhanden, wird aber nicht angezeigt.

Nach Änderung von custdef/usr_user.def muss system/baseman.prg über den Browser aufgerufen werden. In der Tabellenliste wird dann usr_user automatisch zum Restrukturieren angeboten. Klicken Sie einfach auf OK und das System erledigt den Rest.


Es können Pflichtfelder bei der Useranmeldung angegeben werden. Diese sind in cms.ini im Abschnitt REQUIRED angegeben. Bleibt eines dieser Felder leer, wird die MeldungmsgReq ausgegeben.


Rechtegruppen
eforia® web manager erlaubt das Einrichten von Rechtegruppen. So entstehen Bereiche, auf die nur bestimmte Benutzer Zugriff haben.

Ein Beispiel ist die Website einer Pharmafirma. Hier gibt es einen geschlossenen Bereich für Ärzte, einen für Apotheker und einen dritten für Fachjournalisten.

Definiert werden die Rechtegruppen in cms.ini:

[rechte]
recht_1=Arzt
recht_1_icon0=<img src="../sysimg/typen/schlange.gif" id="../sysimg/typen/schlange.gif" alt="Nur mit Arztberechtigung">
recht_1_icon1=<img src="../sysimg/typen/schlange_n.gif" id="../sysimg/typen/schlange_n.gif" alt="Keine Beschränkung">
recht_2=Apotheker
recht_2_icon0=<img src="../sysimg/typen/aapotheke.gif" id="../sysimg/typen/aapotheke.gif" alt="Nur mit Apothekerberechtigung">
recht_2_icon1=<img src="../sysimg/typen/aapotheke_n.gif" id="../sysimg/typen/aapotheke_n.gif" alt="Keine Beschränkung">
recht_3=Presse
recht_3_icon0=<img src="../sysimg/typen/news.gif" id="../sysimg/typen/news.gif" alt="Nur mit Presseberechtigung">
recht_3_icon1=<img src="../sysimg/typen/news_n.gif" id="../sysimg/typen/news_n.gif" alt="Keine Beschränkung">
recht_X gibt den Namen an
recht_X_icon0 gibt ein Symbol an, das anzeigt, dass für die Seite die Berechtigung benötigt wird
recht_X_icon1 gibt ein Symbol an, das anzeigt, dass für die Seite die Berechtigung NICHT benötigt wird

Die Nummerierung muss mit 1 beginnen und lückenlos sein. Die Symbole werden als komplette HTML-img-Tags angegeben.



userman.ini
Die Userverwaltung setzt auf dem Standard-eforia-Userman auf. Dieser kann über die Datei userman.ini konfiguriert werden.

[USERMAN_MAIN]
Timeout_Login=30
Timeout_RecordLock=10
MultiLogin=JA
CheckIP=1
ScriptDetection=1
NoTempCookies=0
Timeout_Login
Timeout für eine Sitzung. Fall ein Benutzer die eingetragenen Minuten keinen Zugriff auf das System macht, wird er automatisch abgemeldet.  Normalerweise ist das der Fall, wenn ein Benutzer sich nicht korrekt am System abmeldet.
Timeout_RecordLock
Timeout für eine Satzsperre. Falls ein Benutzer einen Datensatz länger als diese Zeit sperrt, wird die Sperre automatisch aufgehoben. Dieser Fall trift normalerweise dann ein, wenn ein Benutzer sich nicht korrekt am System abmeldet.
MultiLogin
Falls JA kann sich ein Benutzer an mehreren PCs gleichzeitig anmelden, ohne dass die vorherigen Anmeldungen automatisch gelöscht werden. Vorsicht: Die Datensicherheit ist dann nicht mehr gewährleistet.
CheckIP
Wenn die Session über die URL mitgeführt wird, kann diese zusätzlich an die IP-Adresse gebunden werden. Dazu ist CheckIP=1 zu setzen. Diese Einstellung ist aus Sicherheitsgründen unbedingt zu empfehlen.
ScriptDetection
Wenn 1, werden Zugriffe durch automatische Scripte entdeckt. Dies erfolgt wenn mehr als 20 Zugriffe innerhalb einer Minute gezählt werden. Wenn z.B. mit einem Seitensauger versucht wird dynamische Seiten herunter zu laden, kann eine sehr hohe Anzahl von Zugriffen und damit enormer Traffic verursacht werden. Dies wird damit verhindert.
NoTempCookies
Standardmäßig wird die aktuelle Sitzung (=Session) auch über ein temporäres Cookie mitgeführt. Das kann hier abgeschaltet werden.
eforia® web manager Dokumentation
Stand V 3.01 / 20.12.2010
© Horst Klier
http://www.klier.net
Impressum