Es gibt zwei Arten von Benutzern in meinem System. Der Administrator und normale Benutzer. Hier plane ich, die Sitzungsvariable zu verwenden, um entsprechend ihrer Benutzergruppen nach der Anmeldung umzuleiten. Zur Zeit hat Admin Zugriff auf einzigartige Funktionen (Admin-Dashboard usw.). Normale Benutzer haben ein Profil. Ich muss dem Administrator die Möglichkeit geben, zwischen dem Admin-Dashboard und dem Benutzerprofil zu wechseln, ohne sich mehr als einmal an- oder abzumelden. Kann mir jemand eine ungefähre Vorstellung geben, wie kann ich das umsetzen?Verwalten von zwei Arten von Benutzerkonten in derselben Sitzung
Antwort
Die bessere Übung besteht darin, Gruppen zu haben (was so klingt) und jeder Gruppe Ebenen zuzuweisen.
Zum Beispiel, sagen normale Benutzer sind 1 und Admin-Benutzer sind 2.
Dann, wenn Ihre Seiteninhalt sowohl zeigen will, normale Benutzer und Administratoren können Sie so lange sagen, wie der angemeldete Benutzer ist> = 1 Zeigen Sie dann den Inhalt.
Wenn Ihre Seite nur Inhalt für Administratoren anzeigen möchte, können Sie sagen, dass der angemeldete Benutzer> = 2 ist, und dann den Inhalt anzeigen.
Dies ist nur ein grobes Beispiel, da Sie nicht viel Kontext oder Beispiele angegeben haben.
Dies ist keine Antwort, aber haben Sie versucht, viel einfacher und nur Ausnahmen in Ihrem Code auf der regulären Benutzer-Seite für den Administrator zu machen?
Beispiel, kann für Admin und für normale Benutzer nehmen:
admin.php kann nur, wenn die $row['privilege'] == 1
vice versa für reguläre Benutzer zugegriffen werden: $row['privilege'] == 2
.
Warum auf den regulären Benutzer Seite etwas nicht tun:
<?php
if ($row['username'] == "admin" && $row['privilege'] == "1") {
// let admin access page
} else {
// don't let anyone access page
}
?>
Ich meine es mir so wie etwas aussieht, der einfachste Weg wäre?
Das ist meine Meinung, aber jemand anderes eine bessere Lösung
Obwohl die Frage ziemlich vage haben. Ich werde versuchen, den normalen Prozess der Verwaltung der Benutzerrollen, Authentifizierung und Autorisierung in einer normalen Webanwendung zu erklären.
DB Modell:
1. Table: User
Columns: id, username, password, ..
2. Table: Roles
Columns: roleId, RoleName
3. Table: UserRoles
Columns: userId, roleId
Wenn der Benutzer sich in Ihrem AuthController authentifiziert, bei erfolgreicher Authentifizierung, müssen Sie die Rollen holen, wird Benutzer zugeordnet ist. Und dann müssen Sie diese Informationen in die Sitzung einfügen.
In Ihren Ansichten müssen Sie die Bedingungen wie unten basierend auf Ihren Geschäftsbedingungen überprüfen.
View1.php
if(role in session is 'ADMIN')
Show the data
View2.php
if(role in session is 'USER')
Show the data
- 1. Hinzufügen verschiedener Arten von Benutzerkonten in WordPress
- 2. Zwei Typen von Benutzerkonten mit django Benutzerkonten
- 3. Verwalten mehrerer Benutzerkonten in LDAP
- 4. Verwalten von Benutzerkonten mit Rails 3 und Devise
- 5. Verwalten von Benutzerkonten nach Gruppenname, Benutzername und zuletzt login linux
- 6. COUNT mehrere Arten von derselben Spalte
- 7. Verwalten von zwei verschiedenen SESSION in PHP
- 8. Senden von mehreren Arten von Inhalten in derselben Anfrage
- 9. Verwendung derselben Sitzung mit zwei tomcat Anwendungen
- 10. AspectJ: zwei Arten von Tutorials
- 11. Tableau - Kombinieren von zwei Arten von Dimensionswerten
- 12. Erstellen von zwei Arten von Benutzer
- 13. Multiplikation von zwei Arten von Arrays
- 14. Sitzung in verteilter Anwendung verwalten
- 15. Zwei Arten von Aktionen in React/Redux?
- 16. Android - Zwei Arten von Benutzern in Firebase
- 17. Vervielfältigung von Wordpress-Benutzerkonten
- 18. Wie zwei Arten von Benutzern mit seprate Tabelle in asp.net mvc verwalten?
- 19. verwalten Pony-Sitzung in Pyramid
- 20. CDI SessionScoped Bean führt zu zwei Instanzen in derselben Sitzung
- 21. Mehrere WebRequest in derselben Sitzung
- 22. Wie kann getrennte Anmeldung für zwei Arten von Benutzern in derselben Firebase-App behandelt werden?
- 23. Wie Sitzung zwischen zwei CodeIgnitor Anwendungen in derselben Domäne
- 24. Warum gibt es zwei Arten von SortedList?
- 25. Verwenden von zwei Arten in einer elements.style Eigenschaft
- 26. Linq: Außer zwei verschiedenen Arten von Wörterbüchern
- 27. Vergleicht man zwei verschiedene Arten von Zeigern
- 28. Lambda-Funktion zwei Arten von Berechnungen haben
- 29. Ein Fragment mit zwei Arten von Anzeige
- 30. Tshark - Zwei Arten von Openflow FLOW_MOD Pakete
Ja. (Stellen Sie eine vage Frage, erhalten Sie eine vage Antwort) –
Ich habe es eingerichtet, indem ich zwei Sitzungen für den Admin-Benutzer machte und zum Admin-Panel umadressierte, sobald er sich beim Erstellen der Admin-Sitzung angemeldet hatte. Und wenn er mit dem normalen Benutzerprofil zu tun haben soll, wird er dazu aufgefordert, die Benutzersitzung zu erstellen. – jsb9009