Um festzustellen, ob der Besucher ein Gast ist , verwenden wir Folgendes:
if ($user->guest) {
echo 'Hello, guest!';
}
Wenn ich nun feststellen möchte, ob der Besucher ein registrierter Superuser (Administrator) ist oder nicht, wie lautet der Code dafür?
Ich habe einige externe PHP-Dateien, auf die nur die SuperUser meiner Joomla-Website zugreifen dürfen. Ich versuche nur, die Dateien durch Importieren von Joomla CMS zu sichern.
joomla-3.x
php
security
saibbyweb
quelle
quelle
Antworten:
Diese Codes bestimmen, ob der aktuell angemeldete Benutzer ein Superuser ist oder nicht.
Mit diesem Code wird überprüft, was der Berechtigung "Super User" in der globalen Konfiguration und nicht nur auf Komponentenebene zugeordnet ist. Prüfen Sie es selbst und vergleichen Sie es mit anderen Methoden.
quelle
core.admin
ist eine bessere Erlaubnis zu prüfen alscore.edit
.libraries/joomla/user/user.php
Datei. Es ist dieses:$iAmSuperAdmin = $my->authorise('core.admin');
Um den Status "Super User" zu ermitteln, müssen Sie dies überprüfen
$user->isRoot
. Diese Eigenschaft wird festgelegt, nachdem die erste Berechtigungsprüfung durchgeführt wurde und festgestellt wurde, dass der Benutzer ein Superadministrator ist.In der Regel sollten Sie jedoch überprüfen, ob der Benutzer über bestimmte Berechtigungen verfügt, wie in den anderen Antworten beschrieben.
quelle
Versuche dies,
Dies gibt ein Array zurück. Standardmäßig sind die Joomla Admin-Benutzer "Super Admin" (Gruppen 8) und "Administrator" (Gruppe 7).
Sie können überprüfen, ob das Array einen dieser Werte hat. Dann sollte es Admin-Benutzer sein. Wenn Sie eine benutzerdefinierte Benutzergruppe erstellt haben, müssen Sie dies ebenfalls überprüfen
#__usergroups
parent Id
.Ich hoffe es hilft..
quelle
Sie können eine Bedingung verwenden, um zu verweigern, wer keiner bestimmten Gruppe angehört.
quelle
if(in_array(8, $user->groups))
und es hat bei mir funktioniertVersuchen Sie den folgenden Code, um zu überprüfen, ob der angemeldete Benutzer ein Superadministrator oder ein anderer Benutzer ist ...
quelle
$user->get('isRoot');
funktioniert nicht für J3.6.2.Joomla @since 3.2, Feld UserGroupList verwendet dies, um Folgendes zu überprüfen:
quelle