sandboxgangster / Part-DB

Electronic Parts Database
24 stars 10 forks source link

Benutzerverwaltung #3

Open ubruhin opened 11 years ago

ubruhin commented 11 years ago

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=8

-> Es sollen mehrere Benutzer angelegt werden können

-> Beim (erstmaligen?) Aufruf der Seite wird Benutzername+Passwort verlangt

-> Das System sollte genügend sicher sein, damit es auch ohne Bedenken auf einem (öffentlich zugänglichen) Webspace installiert werden kann

-> Viele Details müssen noch ausgearbeitet werden. Grundsätzlich könnte man aber schonmal eine einfache Benutzerverwaltung inkl. Login-Screen einbauen. Dann wäre das System schonmal soweit bereit, dass es auf einem Webspace installiert werden kann. Den vollen Ausbau könnte man dann nach und nach noch ergänzen.

Kommentar von "damaltor": Übergangslösung: Ich habe die part-db auf öffentlichem Webspace laufen, und habe mit .htpasswd und .htaccess eine Zugriffsbeschränkung eingeführt. So kann ich mehrere Nutzer mit eigenem Passwort autentifizieren, und habe die Sicherheit von Apache2 ohne große Arbeit. Wen Interesse besteht, kann ich gern ein paar Details zu hier aufschreiben.


Für die Benutzerverwaltung müsste man sich überlegen, ob User und/oder Gruppen gewünscht werden. Dann fehlen noch die Rechte und deren Vergabe. Die benutzer- bzw. gruppenspezifischen Einstellungen sind dann schnell erstellt.

Udo


Also ich finde, wenn wir schon eine Benutzerverwaltung einbauen, dann auch gleich richtig :-)

Also mit Benutzer und Gruppen, wie es halt "üblich" ist.

Die möglichen Rechte würde ich recht flexibel gestalten, also viele Optionen anbieten. Es wäre gut möglich dass bestimmte Gruppen zwar den Preis eines Bauteiles verändern dürfen, nicht aber die Beschreibung. Oder andere Gruppen dürfen vielleicht den Preis gar nicht erst sehen, den Lagerbestand ändern ist aber gestattet.

Also ein Leserecht macht vermutlich beim Preis schon am meisten Sinn, ich denke dabei kann man es dann auch belassen.

Oder was meint ihr?


In meinem Branch habe ich die Benutzerverwaltung schonmal zumindest ansatzweise integriert. Es existieren einfach mal Klassen für die Benutzer und die Gruppen, funktionstüchtig ist das aber noch lange nicht. Ich markiere das Thema hier mal als gestartet, nicht dass sonst noch jemand mit der Benutzerverwaltung beginnt :-)


Zusätzlich zur "normalen" Benutzerverwaltung soll es später auch möglich sein, ein Mehrbenutzersystem zu betreiben. Also dass man Part-DB auf einem Webserver installiert, und auch andere Benutzer sich dann dort registrieren können. Alle Bauteile müssen dann grundsätzlich nur einmal angelegt werden und können von unterschiedlichen Benutzern verwendet werden (jeder Benutzer hat dann seinen eigenen Lagerort, Lagerbestand usw., aber die Lieferanten, Preise usw. sind für alle die selben und müssen daher nur von irgend einem Benutzer gesetzt werden und sind dann für alle anderen Benutzer ebenfalls gültig.)

So können sich viele Benutzer die Pflege der Teiledatenbank teilen, und die Benutzer brauchen keinen eigenen Webserver zu betreiben. Für eine solche Installation wurde bereits die Domain "myparts.info" registriert (Danke an Christian R.!).


Wie gehen wir denn mit folgendem Aspekt um?

Mehmet Kendi schrieb im Beitrag #1278648:

Für mich macht es wenig Sinn, wenn ich z.Bsp. auf all die tausend Bauteile von Farnell Zugriff haette. Wüsste echt nicht, was ich damit anfangen sollte.

Ich schrieb dazu im Beitrag #2814390:

Ich denke, es müßte in der Datenbank eine Tabelle geben, die die vom einzelnen Nutzer verwendeten Bauteile kennzeichnet. Wenn man ein neues Bauteil anlegen möchte, würde man zunächst in den gemeinsam genutzten Stammdaten aller Nutzer suchen und das Bauteil quasi für sich "aktivieren". Nur wenn man es dort nicht findet, legt man es wirklich neu an und es ist dann auch für andere in den gemeinsamen Stammdaten zu finden.


1. Da sehe ich auch keinen Sinn wenn man aufs gesamte Sortiment eines Lieferanten Zugriff hätte. Es geht ja grundsätzlich darum, sein eigenes Lager zu verwalten, und da gehören dann auch nur Teile rein die man auch wirklich hat oder mal hatte. Cool würde ich aber finden wenn man beim Anlegen eines Bauteiles den Lieferant und die Bestellnummer eingeben kann, und dann z.B. die Preise automatisch von der Lieferanten-Seite abgerufen werden. Aber sowas hätte momentan eine sehr niedrige Priorität, es warten noch wichtigere Sachen auf die Umsetzung.

2. Ziemlich genau so habe ich mir das vorgestellt. Aber trotzdem bleiben noch andere Fragen offen, z.B. ob die Kategorien für alle Benutzer genau gleich sein sollen oder ob man diese auch individuell anlegen können soll. Vielleicht würde es Sinn machen, ein "System-Kategorienverzeichnis" zu haben, in dem erstmal ALLE Bauteile eingeordnet sind. In diesem Systemkategorienverzeichnis kann dann der Benutzer sein gesuchtes Teil suchen und in einem seiner eigenen Kategorie ablegen. (War nur grad ein Gedanke der mir durch den Kopf ging...Alles in Allem wird ziemlich kompliziert und muss noch gut durchdacht werden).