Sollte die Rollen-zu-Page-Zugriffskarte in meiner PHP-Datei oder in der Datenbank gespeichert werden?Php

PHP-Programmierer chatten hier
Anonymous
 Sollte die Rollen-zu-Page-Zugriffskarte in meiner PHP-Datei oder in der Datenbank gespeichert werden?

Post by Anonymous »

Ich baue ein College -Einschreibungssystem in PHP. Benutzer melden sich mit einer Rolle an (z. B. "Student", "akademischer Administrator", "Registrar") und dürfen nur auf bestimmte Seiten zugreifen, basierend auf dieser Rolle.

Code: Select all

private $rolePageMap = [
"academic admin" => [ /* allowed pages */ ],
"registrar" => [ /* allowed pages */ ],
"student" => [ /* allowed pages */ ]
];
< /code>
Dann verwende ich diese Karte in einer Methode, die überprüft, ob die Rolle des aktuellen Benutzers den Zugriff auf die aktuelle Seite ermöglicht: < /p>
public function enforceSessionPageAccess() {
if ($this->page === $this->indexPage) return;

if (isset($this->pageRoleMap[$this->role])
&& in_array($this->page, $this->pageRoleMap[$this->role])) {
// user is allowed
} else {
// deny access
}
}
But now, I’m considering whether I should keep this mapping as-is (hardcoded in PHP) or move the role-to-page permissions to the database, something like:

[*]roles
[*]pages
[*]role_page_access
< /ul>
Meine Fragen: < /strong> < /p>
  • Was sind die Vor- und Nachteile jedes Ansatzes? />
Ich strebe eine Lösung, die wartbar, skalierbar und sicher ist.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post