home | sitemap

Beveiligde toegang-module

Deze module kent voor gewone (statische) websites geen opmaak.
Voor dynamische websites bestaat er een loginformulier en kan zelf een loginformulier gemaakt worden.

NB: het cms onderkent 3 'groepen' die gebruik maken van een website: bezoekers, gebruikers en redacteuren. Onder gebruikers worden bezoekers verstaan die kunnen inloggen. Zij kunnen besloten gedeelten van een website bekijken. Redacteuren kunnen uiteraard alleen inloggen op het cms en daar de website bewerken.

Opmaak loginformulier

Het inlogformulier is opgemaakt zoals als formulieren gemaakt met de formulierenmodule. Dezelfde css is dus van toepassing. 
Bekijk de html van het formulier door naar de login te gaan.

Eigen loginformulier

Het is ook toegestaan zelf een loginformulier te maken en dat bijv. op elke pagina te zetten of op een pagina net voor er ingelogd moet worden.

NB: het cms zal automatisch de standaard login aanroepen als dat nodig is. Het is dus niet nodig gebruikers per se vooraf te laten inloggen. Het kan wel handig zijn: het cms toont bijv. geen menu-items van beveiligde pagina's zolang men niet is ingelogd.

Een eigen loginformulier moet minimaal bestaan uit twee invoervelden voor loginnaam en wachtwoord en twee verborgen velden met de naam van de website en veld dat aangeeft dat er ingelogd moet worden. Een voorbeeld:

<form action="/cgi/login.cgi" method="post">
  <label>Loginnaam</label><input type="text" name="xcms_login" />
  <label>Wachtwoord</label><input type="password" name="xcms_password" />
  <input class="button" type="submit" value="Inloggen" />
  <input type="hidden" name="site" value="<!-- TMPL_VAR NAME="site" -->" />
  <input type="hidden" name="login" value="1" />
</form> 

Het formulier moet verstuurd worden naar /cgi/login.cgi dat de login controleert en eventuele foutmeldingen toont.

Uitloggen

Gebruikers zijn automatisch uitgelogd als ze de browser sluiten. Wil je de bezoeker de mogelijkheid geven actief uiit te loggen, dan kun je volstaan met een linkje ergens op de pagina naar /cgi/login.cgi?site=<naam van de website>;logout=1
Na uitloggen komt de gebruiker automatisch op de homepage.

Gegevens ingelogde gebruiker tonen

Als een gebruiker is ingelogd kunnen zijn/haar gegevens (zoals opgeslagen in het cms) op elke gewenste pagina worden weergegeven. De volgende gegevens zijn beschikbaar:

Deze gegevens kunnen worden getoond via variabelen, bijv.:

<!-- TMPL_IF NAME="xcms_user_login" -->
Welkom <!-- TMPL_VAR NAME="xcms_user_firstname" -->,
...
<!-- /TMPL_IF NAME="xcms_user_login" -->

Zoals te zien in bovenstaande voorbeeld kan de variabele  xcms_user_login worden gebruikt om te controleren of een gebruiker is ingelogd of niet. Als xcms_user_login leeg is, dan is de gebruiker niet ingelogd.

Gegevens tonen op statische websites

Het is ook mogelijk de gegevens te tonen op statische websites. Dit dient te gebeuren via javascript en AJAX. Via de url /cgi/login.cgi?site=<naam van de website>;xml=1 kunnen bovenstaande gegevens worden opgehaald en worden verwerkt in de html van de pagina. Het resultaat van een aanroep is:

<?xml version="1.0" encoding="iso-8859-1"?>
<xcms_user>
  <xcms_user_id>...</xcms_user_id>
  <xcms_user_login>...</xcms_user_login>
  <xcms_user_firstname>...</xcms_user_firstname>
  <xcms_user_lastname>...</xcms_user_lastname>
  <xcms_user_email>...</xcms_user_email>
  <xcms_user_fullname>...</xcms_user_fullname>
</xcms_user>