it-swarm-tr.com

Kullanıcının Süper Kullanıcı olup olmadığını nasıl tespit edebilirim?

Ziyaretçinin konuk olup olmadığını belirlemek için şu şekilde bir şey kullanırız:

if ($user->guest) {
echo 'Hello, guest!';
}

Şimdi, ziyaretçinin kayıtlı bir SuperUser (Yönetici) olup olmadığını belirlemek istersem, bunun kodu ne olur?

Bazı dış PHP benim Joomla Web sitesi SuperUsers dışında kimse tarafından erişilebilir olmak istemiyorum dosyaları var. Sadece Joomla CMS ithal ederek dosyaları güvenliğini sağlamaya çalışıyor.

21
saibbyweb

bu kodlar, oturum açmış olan kullanıcının süper kullanıcı olup olmadığını belirler -

$user = JFactory::getUser();
$isroot = $user->authorise('core.admin');

bu kod, yalnızca bileşen düzeyinde değil, genel yapılandırmada "Süper Kullanıcı" izniyle nelerin eşlendiğini kontrol eder. Diğer yollarla karşılaştırarak kendiniz kontrol edin.

29
dev-m

"Süper Kullanıcı" durumunu belirlemek için $user->isRoot. Bu özellik, ilk yetkilendirme kontrolü yapıldıktan ve kullanıcının süper yönetici olduğu tespit edildikten sonra ayarlanır.

Ancak genellikle kullanıcının diğer yanıtlarda açıklandığı gibi belirli izinlere sahip olup olmadığını kontrol etmek daha iyi olur.

8
Bakual

Belirli bir grupta olmayanları reddetmek için bir koşul kullanabilirsiniz.

$user = JFactory::getUser();
$groups = $user->groups;

if (in_array(8, $groups)):

 //only enter if the user is in the group 8 (group 8 = Super-Administrator)

endif;
6

Bunu dene,

$user  = JFactory::getUser();

$user_groups = $user->groups;

print_r($user_groups);

Bu, varsayılan olarak Joomla Admin kullanıcıları Super admin (Grup 8) ve Yönetici (Grup 7) dizisini döndürür.

Dizinin bu değerlerden herhangi birine sahip olup olmadığını kontrol edebilirsiniz, o zaman Yönetici kullanıcı olmalıdır, Özel Kullanıcı grubu oluşturduysanız #__usergroupsparent Id de.

Umarım yardımcı olur..

6
Jobin Jose

Oturum açma kullanıcısının süper yönetici veya diğer kullanıcılar olup olmadığını kontrol etmek için aşağıdaki kodu deneyin ...

$user = JFactory::getUser();
$isAdmin = $user->get('isRoot');
if ($isAdmin) {
echo 'You are an Administrator';
}
else  {
echo 'You are not Administrator';
}

OR

function isSuperAdmin()
{
  $user = JFactory::getUser();
  return $user->get('isRoot');
}    

if (isSuperAdmin()) 
{
  echo 'You are an Administrator';
}
else  {
  echo 'You are not Administrator';
}
4
PCMShaper

Joomla @since 3.2, alan UserGroupList bunu kontrol etmek için kullanır:

$isSuperUser = JFactory::getUser()->authorise('core.admin');
2
PLBM