Authentifizierung / Autorisierung

# Authentifizierung / Autorisierung (AA)

In den Versionen vor 1.5 kümmerte sich NagVis nicht viel um Authentifizierung und Autorisierung. In den meisten Umgebungen nutzte es die Authentifizierung von Nagios. Das war ein Nebeneffekt, da NagVis im `nagios/share`-Verzeichnis platziert war.

Mit NagVis 1.5 wurde das Default-Installationsverzeichnis in ein eigenes Basisverzeichnis verschoben. Dieser Schritt erforderte einen neuen Authentifizierungs- und Autorisierungsmechanismus. Das Hauptaugenmerk dieses Konzeptes liegt auf Modularität und Flexibilität.

## Modularität

Das AA wurde in drei Module aufgeteilt: LogonDialogs, Authentifizierung, Autorisierung. Jedes einzelne Modul kann geändert werden, ohne die anderen zu beeinträchtigen.

## Default-Module

Per Default nutzt NagVis einen gemischten Logon-Request-Modus für die Anmeldung und eine SQLite-Datenbank für die Speicherung von Benutzern, Passwörtern und Berechtigungen. Dafür verwendet NagVis das LogonMixed-Modul, das im Hintergrund auf LogonEnv und LogonDialog zugreift. Das LogonMixed-Modul versucht, den Benutzernamen über das Web-Server-Environment zu ermitteln. Das bedeutet, dass NagVis der Web-Server-Authentifizierung vertraut, wenn eine benutzt wird. Falls keine verwendet wird, zeigt es den LogonDialog an, um interaktives Login durch den HTML-Logon-Dialog zu ermöglichen.

## Andere Module

Bei der Auslieferung gibt es nur die o.g. Authentifizierungs- und Autorisierungsmodule. Durch die modulare Struktur sollte es einfach sein, LDAP-, MySQL- und dateibasierende Authentifizierungs- und Autorisierungsmechanismen zu erstellen.