• Seite
  • Addon-API's

ACP-Rechtevergabe

Stand: 09.12.2020 / 15:01:20

die cms-software unterstützt eine rechtevergabe für die acp-otionen an unterschiedliche gruppen. das prinzip dabei: entweder darf eine gruppe auf die entsprechende options-seite zugreifen, oder sie darf es nicht. dabei kann die rechtevergabe durchaus seitenweise verankert werden. generell gilt: gesperrte user haben nirgendwo drauf zugriff, der haupt-administrator darf alles.

  • hierfür ist folgendes array interessant:
    $$options["group_vars"]["grp_permissions"]
  • um jetzt eine rechtevergabe hinzuzufügen, wird wie folgt vorgegangen:
    1. als beispiel dient "admins_sucken". der name ist egal, sollte aber nach möglichkeit halbwegs einen bezug zu dem addon enthalten, dessen rechte er steuert. damit dieses recht steuerbar ist, muss es einen (bewschreibenden) namen erhalten:
      1. $options["group_vars"]["grp_permissions"]["admins_sucken"] = "Steuerung der Beliebtheit von Admins"
      jetzt ist das recht sozusagen im system verankert. standardeinstellung ist "0", ein neues addon muss vom admin also erst manuell für die jeweiligen gruppen freigegeben werden.
    2. damit die rechtevergabe jetzt auch auf funktionen aktiv werden kann um diese zu schützen, muss in den kopf der funktion eine spezielle if-abfrage integriert werden. diese ist im folgenden aufgeführt:
      1. if(!check_function_permission("{hier das oben definierte recht eintragen}")) {
      2. $output = permission_failed();
      3. return $output;
      4. }
      {hier das oben definierte recht eintragen} <-- hier kommt das für die funktion vorgesehen recht hinein.
      wird die funktion jetzt ohne entsprechende berechtigung aufgerufen wird mit einer fehlermeldung abgebrochen. was an code hinter der funktion folgt ist egal.