Benutzer-Werkzeuge

Webseiten-Werkzeuge


datenbank-schema

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
datenbank-schema [2017/02/07 16:12] – [storedquery] lwsystemsdatenbank-schema [2022/11/11 11:42] (aktuell) – [filter] lwsystems
Zeile 2: Zeile 2:
  
 ===== user  ===== ===== user  =====
-Diese Tabelle enthält die Benutzer-Daten. Das Passwort wird als MD5 Hash gespeichert. +Diese Tabelle enthält die Benutzer-Daten. Das Passwort wird als BCRYPT Hash gespeichert. 
  
 <code sql> <code sql>
Zeile 10: Zeile 10:
 | id       | varchar(64)  | NO   | PRI |               | Username | id       | varchar(64)  | NO   | PRI |               | Username
 | name     | varchar(256) | YES  |     | NULL    |       | Vor- und Nachname | name     | varchar(256) | YES  |     | NULL    |       | Vor- und Nachname
-| password | varchar(64)  | NO               |       MD5 Hash des Passworts+| password | varchar(64)  | NO       ''      |       BCRYPT Hash des Passworts
 | archive  | varchar(256) | YES  |     | NULL    |       | Container des Users | archive  | varchar(256) | YES  |     | NULL    |       | Container des Users
 | role     | varchar(32)  | NO       | USER    |       | Rolle | role     | varchar(32)  | NO       | USER    |       | Rolle
Zeile 23: Zeile 23:
 Diese Liste wird im Info-Feld des Web-UIs angezeigt.  Diese Liste wird im Info-Feld des Web-UIs angezeigt. 
  
-<code>+<code sql>
 +---------+-------------+------+-----+---------+-------+ +---------+-------------+------+-----+---------+-------+
 | Field   | Type        | Null | Key | Default | Extra | | Field   | Type        | Null | Key | Default | Extra |
Zeile 30: Zeile 30:
 | address | varchar(64) | NO   | PRI |               | E-Mail Adresse für Filter | address | varchar(64) | NO   | PRI |               | E-Mail Adresse für Filter
 +---------+-------------+------+-----+---------+-------+ +---------+-------------+------+-----+---------+-------+
 +</code>
 +
 +===== appstate  =====
 +
 +Der Status des Web-UIs der Benutzer wird beim Abmelden hier gespeichert.
 +
 +<code sql>
 ++--------+--------------+------+-----+---------+-------+
 +| Field  | Type         | Null | Key | Default | Extra |
 ++--------+--------------+------+-----+---------+-------+
 +| id     | varchar(64)  | NO   | PRI |               |
 +| userid | varchar(64)  | NO                     |
 +| value  | varchar(254) | NO   | PRI |               |
 ++--------+--------------+------+-----+---------+-------+
 </code> </code>
  
Zeile 47: Zeile 61:
 </code> </code>
  
-===== filter  ===== + 
-Die Tabelle "filter" enthält Filter für einzelne BenutzerDie Pflege der Filter ist im Web-UI noch nicht implementiert+===== container  ===== 
 + 
 +Die Tabelle "container" enthält die dem User zugeordneten Container und Subcontainer. 
 +Falls Subcontainer konfiguriert wurden, wird der Subcontainer im AUTH-Modul per "/" an den Conainer angehängt.
  
 <code sql> <code sql>
Zeile 54: Zeile 71:
 | Field  | Type         | Null | Key | Default | Extra | | Field  | Type         | Null | Key | Default | Extra |
 +--------+--------------+------+-----+---------+-------+ +--------+--------------+------+-----+---------+-------+
-id     | varchar(64)  | NO   | PRI |               Interne Id des Filters +userid | varchar(64)  | NO   | PRI |               Benutzer-Id 
-userid | varchar(64 YES      |               Benutzername (user.id), dem dieser Filter zugeordnet wird +cid    | varchar(128) | NO   PRI |               Container 
-name   | varchar(255) | YES      |               Name des Filters in der Anzeige. +scid   | varchar(128) | NO   PRI |               Subcontainer
-| filter | text         | YES  |     | NULL    |       | Lucene Filter String+
 +--------+--------------+------+-----+---------+-------+ +--------+--------------+------+-----+---------+-------+
 </code> </code>
Zeile 64: Zeile 80:
 ====== MySQL Datenbank ====== ====== MySQL Datenbank ======
  
-Beispiel der SQL Queries zum Erstellen der Benutzerdatenbank in MySQL.+Beispiel der SQL Queries zum Erstellen der Benutzerdatenbank in MySQL: {{ :benno.sql |}}
  
 <code sql> <code sql>
Zeile 71: Zeile 87:
   `address` varchar(64) NOT NULL DEFAULT '',   `address` varchar(64) NOT NULL DEFAULT '',
   PRIMARY KEY (`id`,`address`)   PRIMARY KEY (`id`,`address`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) 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` ( CREATE TABLE `filter` (
Zeile 79: Zeile 109:
   `filter` text,   `filter` text,
   PRIMARY KEY (`id`)   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
 CREATE TABLE `storedquery` ( CREATE TABLE `storedquery` (
Zeile 87: Zeile 117:
   `query` text,   `query` text,
   PRIMARY KEY (`id`)   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
 CREATE TABLE `user` ( CREATE TABLE `user` (
Zeile 96: Zeile 126:
   `role` varchar(32) NOT NULL DEFAULT 'USER',   `role` varchar(32) NOT NULL DEFAULT 'USER',
   PRIMARY KEY (`id`)   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) ENGINE=InnoDB DEFAULT CHARSET=utf8
 +</code> 
 + 
 +===== 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. 
 + 
 +<code sql> 
 +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`) 
 +);
 </code> </code>
datenbank-schema.1486483960.txt.gz · Zuletzt geändert: 2017/02/07 16:12 von lwsystems