Hallo liebe Community,
ich habe da mal folgende Frage bzw. folgendes Problem:
Ich habe Customer, Staff und Admins. Alle 3 Gruppen haben verschiedene Access Rechte , definierte Rollen sind in der Tabelle : role vorhanden (Admin,Staff, Member)
Ich habe eine Anwendung in der sie sich einloggen sollen und entsprechend ihrer Rollen sehen sie mehr oder weniger. Dazu habe ich folgende Ansätze um den Login zu handeln:
1. Lösung:
Ein Login für alle :
Ich habe eine Tabelle user : (user_id, user_pw , user_pw_salt , user_role)
Ich habe eine Tabelle customer : (customer_id ....)
Ich habe eine Tabelle staff (staff_id ...)
Ich habe eine Tabelle admin (admin_id ...)
Tabelle user (user_id) : FK : customer_id, admin_id, staff_id
Der PK von user_id zeigt auf den PK von customer_id, admin_id und staff_id
Damit ist der user jetzt entweder in der Tabelle customer, in der Tabelle staff oder in der Tabelle admin zu finden.
Der Benutzer loggt sich ein und ich frage in der user Tabelle ab. Anschließend bekomme ich die Rolle und weiss in welcher Tabelle ich dann mit meiner id fragen muss.
Ich habe also : Select an table user + Select an table customer,staff,admin
2. Lösung
Ich habe eine Tabelle customer : (customer_id user_pw , user_pw_salt , user_role)
Ich habe eine Tabelle staff (staff_id user_pw , user_pw_salt , user_role)
Ich habe eine Tabelle admin (admin_id user_pw , user_pw_salt , user_role)
Weiterhin habe ich dann zwei Logins. Einen für die Kunden und einen für admin,staff.
Kundenlogin --> select an customer
Adminlogin --> select an admin , wenn da nicht , select an admin
Hier kann auch ein customer ein Admin sein ... was in der oberen Lsg nicht geht.
--
Was ist denn jetzt sinnvoller? Ich habe sicherlich viele Vorteile und Nachteile vergessen... aber für was würdet ihr euch entscheiden?
Muss noch viel Erfahrung sammeln ....:rtfm:
vielen dank!!
ich habe da mal folgende Frage bzw. folgendes Problem:
Ich habe Customer, Staff und Admins. Alle 3 Gruppen haben verschiedene Access Rechte , definierte Rollen sind in der Tabelle : role vorhanden (Admin,Staff, Member)
Ich habe eine Anwendung in der sie sich einloggen sollen und entsprechend ihrer Rollen sehen sie mehr oder weniger. Dazu habe ich folgende Ansätze um den Login zu handeln:
1. Lösung:
Ein Login für alle :
Ich habe eine Tabelle user : (user_id, user_pw , user_pw_salt , user_role)
Ich habe eine Tabelle customer : (customer_id ....)
Ich habe eine Tabelle staff (staff_id ...)
Ich habe eine Tabelle admin (admin_id ...)
Tabelle user (user_id) : FK : customer_id, admin_id, staff_id
Der PK von user_id zeigt auf den PK von customer_id, admin_id und staff_id
Damit ist der user jetzt entweder in der Tabelle customer, in der Tabelle staff oder in der Tabelle admin zu finden.
Der Benutzer loggt sich ein und ich frage in der user Tabelle ab. Anschließend bekomme ich die Rolle und weiss in welcher Tabelle ich dann mit meiner id fragen muss.
Ich habe also : Select an table user + Select an table customer,staff,admin
2. Lösung
Ich habe eine Tabelle customer : (customer_id user_pw , user_pw_salt , user_role)
Ich habe eine Tabelle staff (staff_id user_pw , user_pw_salt , user_role)
Ich habe eine Tabelle admin (admin_id user_pw , user_pw_salt , user_role)
Weiterhin habe ich dann zwei Logins. Einen für die Kunden und einen für admin,staff.
Kundenlogin --> select an customer
Adminlogin --> select an admin , wenn da nicht , select an admin
Hier kann auch ein customer ein Admin sein ... was in der oberen Lsg nicht geht.
--
Was ist denn jetzt sinnvoller? Ich habe sicherlich viele Vorteile und Nachteile vergessen... aber für was würdet ihr euch entscheiden?
Muss noch viel Erfahrung sammeln ....:rtfm:
vielen dank!!