Vorbemerkung: Im Idealfall verwenden Sie das Modul API unter 30, um auf ArchivistaBox-Datenbanken zuzugreifen. Sollte dieses nicht zur Verfügung stehen, oder möchten Sie eine direkte Integration realisieren, so kann der direkte hier berschriebene Zugriff eine Lösung darstellen. Beachten Sie dabei aber, dass das Verändern von Informationen in den Tabellen einer Archivista-Datenbank unter Umständen zum 'Totalverlust' führen kann!
Am Anfang steht das korrekte Anmelden am System. Grundsätzlich benötigen Sie entsprechende MySQL-Rechte, um auf eine Archivista-Datenbank zugreifen zu können. Dazu können Sie direkt in der MySQL-Konsole einen Benutzer eröffnen, der entsprechende Rechte erhält oder aber Sie verwenden ein normales Archivista-Benutzerkonto.
Die erste Variante dürfte etwas einfacher zu implementieren sein, während die zweite Variante mehr Flexibilität ermöglicht. Bei der zweiten Variante können Sie zudem auf sämtliche benutzerspezifischen Informationen eines Benutzers zurückgreifen, was bei der ersten Variante nicht möglich ist. Die benutzerspezifischen Informationen werden in jeder Archivista-Datenbank in der Tabelle 'user' abgelegt.
Damit die Anmeldung im Archivista-Client erfolgreich abläuft, wird zunächst geprüft, ob der angemeldete Benutzer auf die entsprechende Archivista-Datenbank überhaupt (zumindest) Lese-Rechte hat. Dazu schlägt der MySQL-Server in der internen 'mysql'-Verwaltungsdatenbank nach, ob in der Tabelle 'tables_priv' entsprechende Einträge für den Benutzer vorhanden sind. Ist dies der Fall, darf der Benutzer mit richtigem Passwort auf eine Archivista-Datenbank grundsätzlich zugreifen. Allerdings müssen wir nun noch die benutzerspezifischen Informationen aus der Archivista-Datenbank in der Tabelle 'user' auslesen. Dabei wird überprüft, ob zum angemeldeten Benutzer in dieser Tabelle ein Eintrag besteht, der bei den Feldern 'User' und 'Host' die gleichen Einträge besitzt wie die interne MySQL-Datentabelle 'tables_priv'. Ist dies der Fall, kann die Anmeldung definitiv erfolgen.