Инструменты пользователя

Инструменты веб-сайта


схема базы данных

Схема базы данных

пользователь

В этой таблице содержатся данные пользователя. Пароль хранится в виде хеша BCRYPT.

+----------+--------------+------+-----+---------+-------+
| FIELD    | TYPE         | NULL | KEY | DEFAULT | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | VARCHAR(64)  | NO   | PRI |         |       | Username
| name     | VARCHAR(256) | YES  |     | NULL    |       | Vor- und Nachname
| password | VARCHAR(64)  | NO   |     | ''      |       | BCRYPT Hash des Passworts
| archive  | VARCHAR(256) | YES  |     | NULL    |       | Container des Users
| ROLE     | VARCHAR(32)  | NO   |     | USER    |       | Rolle
+----------+--------------+------+-----+---------+-------+

адрес

Die Tabelle „address“ enthält die Adressen, die einem Benutzer zugeordnet sind. Aus den Adressen wird einFilter generiert, durch den die Antwortliste des Queries gefiltert wird. Für den Admin oder Revisor solltedie Adresse *@* konfiguriert werden.

Этот список отображается в информационном поле веб-интерфейса.

+---------+-------------+------+-----+---------+-------+
| FIELD   | TYPE        | NULL | KEY | DEFAULT | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | VARCHAR(64) | NO   | PRI |         |       | Username (USER.id)
| address | VARCHAR(64) | NO   | PRI |         |       | E-Mail Adresse für FILTER
+---------+-------------+------+-----+---------+-------+

состояние приложения

Здесь сохраняется статус пользователя в веб-интерфейсе при выходе из системы.

+--------+--------------+------+-----+---------+-------+
| FIELD  | TYPE         | NULL | KEY | DEFAULT | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | VARCHAR(64)  | NO   | PRI |         |       |
| userid | VARCHAR(64)  | NO   |     |         |       |
| VALUE  | VARCHAR(254) | NO   | PRI |         |       |
+--------+--------------+------+-----+---------+-------+

контейнер

Таблица «контейнеры» содержит контейнеры и подконтейнеры, назначенные пользователю. Если подконтейнеры были настроены, подконтейнер добавляется к контейнеру в модуле AUTH с помощью символа «/».

+--------+--------------+------+-----+---------+-------+
| FIELD  | TYPE         | NULL | KEY | DEFAULT | Extra |
+--------+--------------+------+-----+---------+-------+
| userid | VARCHAR(64)  | NO   | PRI |         |       | Benutzer-Id
| cid    | VARCHAR(128) | NO   | PRI |         |       | Container
| scid   | VARCHAR(128) | NO   | PRI |         |       | Subcontainer
+--------+--------------+------+-----+---------+-------+

фильтр

In der Tabelle „filter“ können Lucene Query Filter gespeichert werden. Bei der Anmeldung werden die Filter des Benutzers mit dem Benutzernamen „userid“ geladen und bei jeder Suche per AND verknüpft.

+--------+--------------+------+-----+---------+-------+
| FIELD  | TYPE         | NULL | KEY | DEFAULT | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | VARCHAR(64)  | NO   | PRI |         |       | eindeutige Id des Filters
| userid | VARCHAR(128) | YES  |     |         |       | Anmeldename
| name   | VARCHAR(255) | YES  |     |         |       | Name des Filters zur Anzeige im [i] Fenster
| FILTER | text         | YES  |     | NULL    |       | Lucene Query String
+--------+--------------+------+-----+---------+-------+

сохраненный запрос

Каждый пользователь может сохранять поисковые запросы с указанием имени в веб-интерфейсе. Эти поисковые запросы хранятся в данной таблице.

+--------+--------------+------+-----+---------+-------+
| FIELD  | TYPE         | NULL | KEY | DEFAULT | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | VARCHAR(64)  | NO   | PRI |         |       | Interne Id der Abfrage
| userid | VARCHAR(64)  | YES  |     |         |       | Benutzername (USER.id) dem dieser Abfrage 
| name   | VARCHAR(255) | YES  |     |         |       | Name der gespeicherten Abfrage
| query  | text         | YES  |     | NULL    |       | Serialisiertes Objekt mit der gespeicherten Abfrage
+--------+--------------+------+-----+---------+-------+

база данных MySQL

Пример SQL-запросов для создания базы данных пользователей в MySQL: benno.sql

CREATE TABLE `address` (
  `id` VARCHAR(64) NOT NULL DEFAULT '',
  `address` VARCHAR(64) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`,`address`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `appstate` (
  `id` VARCHAR(64) NOT NULL DEFAULT '',
  `userid` VARCHAR(64) NOT NULL DEFAULT '',
  `value` VARCHAR(254) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`,`value`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `container` (
  `userid` VARCHAR(64) NOT NULL DEFAULT '',
  `cid` VARCHAR(128) NOT NULL DEFAULT '',
  `scid` VARCHAR(128) NOT NULL DEFAULT '',
  PRIMARY KEY (`userid`,`cid`,`scid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
 
CREATE TABLE `filter` (
  `id` VARCHAR(64) NOT NULL DEFAULT '',
  `userid` VARCHAR(64) DEFAULT '',
  `name` VARCHAR(255) DEFAULT '',
  `filter` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `storedquery` (
  `id` VARCHAR(64) NOT NULL DEFAULT '',
  `userid` VARCHAR(64) DEFAULT '',
  `name` VARCHAR(255) DEFAULT '',
  `query` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `user` (
  `id` VARCHAR(64) NOT NULL DEFAULT '',
  `name` VARCHAR(256) DEFAULT NULL,
  `password` VARCHAR(64) NOT NULL DEFAULT '',
  `archive` VARCHAR(256) DEFAULT NULL,
  `role` VARCHAR(32) NOT NULL DEFAULT 'USER',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

imapuser

Diese Tabelle wird nur benötigt, wenn der Import mittels benno-imapsync erfolgen soll. Hier werden die IMAP-Benutzer gespeichert. Das Passwort wird für die Authentisierung am IMAP-Server benötigt. Es wird reversibel (3DES) verschlüsselt gespeichert und kan mit dem bei der installation von benno-imap erstellten privaten Schlüssel entschlüsselt werden.

CREATE TABLE `imapuser` (
  `id` VARCHAR(64) NOT NULL DEFAULT '',
  `imapuser` VARCHAR(64) NOT NULL DEFAULT '',
  `imaphost` VARCHAR(64) NOT NULL DEFAULT '',
  `imapstatus` longtext,
  `password` text,
  `status` INT(11) DEFAULT '0',
  PRIMARY KEY (`imapuser`,`imaphost`)
);
database-schema.txt Последнее изменение: 07.02.2025 08:42 пользователем lwsystems