Para determinar se o visitante é um convidado , usamos algo como isto:
if ($user->guest) {
echo 'Hello, guest!';
}
Agora, se eu quiser determinar se o visitante é um superusuário (administrador) registrado ou não, qual seria o código para isso?
Eu tenho alguns arquivos PHP externos que eu não quero que possam ser acessados por ninguém, exceto pelos Superusuários do meu site Joomla. Apenas tentando proteger os arquivos importando o Joomla CMS.
joomla-3.x
php
security
saibbyweb
fonte
fonte
Respostas:
esses códigos determinarão se o usuário conectado no momento é superusuário ou não -
esse código verificará o que está mapeado para a permissão "Superusuário" na configuração global e não apenas no nível do componente. Verifique você mesmo comparando com outras maneiras.
fonte
core.admin
é uma permissão melhor para verificar do quecore.edit
.libraries/joomla/user/user.php
arquivo. É este:$iAmSuperAdmin = $my->authorise('core.admin');
Para determinar o status "Superusuário", você deve verificar
$user->isRoot
. Essa propriedade é configurada após a primeira verificação de autorização e o usuário é detectado como superadministrador.No entanto, geralmente é melhor você verificar se o usuário tem determinadas permissões, como descrito nas outras respostas.
fonte
Tente isso,
Isso retornará uma matriz, Por padrão, os usuários Admin do Joomla Superadministrador (Grupos 8) e Administrador (Grupo 7).
Você pode verificar se a matriz possui algum desses valores e, em seguida, deve ser usuário administrador. Se você criou um grupo de usuários personalizados, também é necessário verificar
#__usergroups
parent Id
.Espero que ajude..
fonte
Você pode usar uma condição para recusar qualquer pessoa que não esteja em um grupo específico.
fonte
if(in_array(8, $user->groups))
e funcionou para mimTente o código abaixo para verificar se o usuário de login é superadministrador ou outros usuários ...
fonte
$user->get('isRoot');
não está funcionando para o J3.6.2.O Joomla @since 3.2, no campo UserGroupList, é utilizado para verificar:
fonte