X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=doc%2Fdokumentation.xml;h=97ba280d65d0771642b22961b091a5e0fc4f17b9;hb=1d540b8d67d025876165c06509e6c3c6c7d0564e;hp=538e94b21c1c9b98f4e979c787c3913a0dcff1ae;hpb=81505dd871a42089ee663816b432841e0800b36f;p=kivitendo-erp.git diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 538e94b21..97ba280d6 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -353,15 +353,15 @@ - YAML + YAML::XS oder YAML Seit Version größer v3.5.1 sind die folgenden Pakete hinzugekommen: Set::Infinite, List::UtilsBy, DateTime::Set, DateTime::Event::Cron Daemon::Generic DateTime::Event::Cron File::Flock - File::Slurp Set::Crontab Exception::Lite. Für die letzten beiden Module - liefert kivitendo fallback-Module aus, da diese überhaupt nicht in debian oder in der benötigten Version zu Verfügung stehen (Stand + File::Slurp Set::Crontab Exception::Lite. Für das letzte Modul + liefert kivitendo ein fallback-Modul aus, da es überhaupt nicht in debian oder in der benötigten Version zu Verfügung stehen (Stand Anfang 2019). Seit Version größer v3.5.0 sind die folgenden Pakete @@ -419,14 +419,15 @@ libparams-validate-perl libpdf-api2-perl librose-db-object-perl \ librose-db-perl librose-object-perl libsort-naturally-perl \ libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \ - libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \ + libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-libyaml-perl \ libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \ libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \ libcrypt-pbkdf2-perl git libcgi-pm-perl libtext-unidecode-perl libwww-perl\ postgresql-contrib aqbanking-tools poppler-utils libhtml-restrict-perl\ libdatetime-set-perl libset-infinite-perl liblist-utilsby-perl\ libdaemon-generic-perl libfile-flock-perl libfile-slurp-perl\ - libfile-mimeinfo-perl libpbkdf2-tiny-perl libregexp-ipv6-perl + libfile-mimeinfo-perl libpbkdf2-tiny-perl libregexp-ipv6-perl \ + libset-crontab-perl libdatetime-event-perl Ab Ubuntu Version 18.04 LTS, bzw. Debian Buster sind alle benötigten Pakete in der Distribution verfügbar. @@ -520,15 +521,15 @@ cpan HTML::Restrict url="https://github.com/kivitendo/kivitendo-erp/releases">hier heruntergeladen werden. - Die kivitendo ERP Installationsdatei - (kivitendo-erp-3.4.1.tgz) wird im + Diese aktuelleste kivitendo ERP-Archiv + (kivitendo-erp-*.tgz) wird dann im Dokumentenverzeichnis des Webservers (z.B. /var/www/html/, /srv/www/htdocs oder /var/www/) entpackt: cd /var/www -tar xvzf kivitendo-erp-3.4.1.tgz +tar xvzf kivitendo-erp-*.tgz Wechseln Sie in das entpackte Verzeichnis: @@ -821,13 +822,13 @@ default_manager = german Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018): - Fedora (Postgres-Installation unter Fedora) + Fedora (Postgres-Installation unter Fedora) - Ubuntu (Infos für Postgres für die aktuelle LTS Version) + Ubuntu (Infos für Postgres für die aktuelle LTS Version) - OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert) + OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert) @@ -1192,6 +1193,20 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/ + + Authentifizierung mittels HTTP Basic Authentication + + + Kivitendo unterstützt, dass Benutzerauthentifizierung über den Webserver mittels des »Basic«-HTTP-Authentifizierungs-Schema erfolgt + (siehe RFC 7617). Dazu ist es aber nötig, dass der dabei vom Client + mitgeschickte Header Authorization vom Webserver an Kivitendo über die Umgebungsvariable + HTTP_AUTHORIZATION weitergegeben wird, was standardmäßig nicht der Fall ist. Für Apache kann dies über die + folgende Konfigurationsoption aktiviert werden: + + + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + + Weitergehende Konfiguration @@ -7811,6 +7826,89 @@ file_name = /tmp/kivitendo-debug.log + + Programmatische API-Aufrufe + + + Einführung + + + Es ist möglich, Funktionen in kivitendo programmatisch aus anderen Programmen aufzurufen. Dazu ist nötig, dass + Authentifizierungsinformationen in jedem Aufruf mitgegeben werden. Dafür gibt es zwei Methoden: die HTTP-»Basic«-Authentifizierung + oder die Übergabe als spziell benannte GET-Parameter. Neben den Authentifizierungsinformationen muss auch der zu verwendende Mandant + übergeben werden. + + + + + Wahl des Mandanten + + + Der zu verwendende Mandant kann als Parameter {AUTH}client_id mit jedem Request mitgeschickt werden. Der Wert + muss dabei die Datenbank-ID des Mandanten sein. kivitendo prüft, ob der Account, der über die Authentifizierungsinformationen + übergeben wurde, Zugriff auf den angegebenen Mandanten hat. + + + + Wird in einem Request kein Mandant mitgegeben, so wird derjenige Mandant genommen, wer als Standardmandant markiert wurde. Gibt es + keinen solchen, kommt es zu einer Fehlermeldung. + + + + + HTTP-»Basic«-Authentifizierung + + + Für diese Methode muss jedem Request der bekannte HTTP-Header Authorization mitgeschickt werden (siehe RFC 7617). Unterstützt wird ausschließlich die »Basic«-Methode. Loginname und + Passwort werden bei dieser Methode durch einen Doppelpunkt getrennt und Base64-encodiert im genannten HTTP-Header übertragen. + + + + Diese Informationen müssen einen vorhandenen Account benennen. kivitendo prüft genau wie bei Benutzung über den Webbrowser, ob + dieser Account Zugriff auf den Mandanten sowie auf die angeforderte Funktion hat. + + + + Da die Logininformationen im Klartext im Request stehen, sollte der Zugriff auf kivitendo ausschließlich über HTTPS verschlüsselt + erfolgen. + + + + + Authentifizierung mit Parametern + + + Für diese Methode müssen jedem Request zwei Parameter mitgegeben werden: {AUTH}login und + {AUTH}password. Diese Informationen müssen einen vorhandenen Account benennen. kivitendo prüft genau wie bei + Benutzung über den Webbrowser, ob dieser Account Zugriff auf den Mandanten sowie auf die angeforderte Funktion hat. + + + + Da die Logininformationen im Klartext im Request stehen, sollte der Zugriff auf kivitendo ausschließlich über HTTPS verschlüsselt + erfolgen. + + + + + Die Verwendung dieser Methode ist veraltet. Statt dessen sollte die oben erwähnte HTTP-»Basic«-Authentifizierung verwendet werden. + + + + + + Beispiele + + + Das folgende Beispiel nutzt das Kommandozeilenprogramm »curl« und ruft die Funktion auf, die eine vorhandene Telefonnummer in den + Ansprechpersonen sucht und dazu Informationen zurückliefert. Dabei wird die HTTP-»Basic«-Authentifizierung genutzt. + + + $ curl --silent --user 'jdoe:SecretPassword!' \ + 'https://…/controller.pl?action=PhoneNumber/look_up&number=053147110815' + + + SQL-Upgradedateien