방문자가 손님 인지 확인하기 위해 다음과 같이 사용합니다.
if ($user->guest) {
echo 'Hello, guest!';
}
방문자가 등록 된 수퍼 유저 (관리자)인지 여부를 확인하려면 해당 코드는 무엇입니까?
내 Joomla 웹 사이트의 수퍼 유저를 제외한 다른 사람이 액세스하고 싶지 않은 외부 PHP 파일이 있습니다. Joomla CMS를 가져 와서 파일을 보호하려고합니다.
방문자가 손님 인지 확인하기 위해 다음과 같이 사용합니다.
if ($user->guest) {
echo 'Hello, guest!';
}
방문자가 등록 된 수퍼 유저 (관리자)인지 여부를 확인하려면 해당 코드는 무엇입니까?
내 Joomla 웹 사이트의 수퍼 유저를 제외한 다른 사람이 액세스하고 싶지 않은 외부 PHP 파일이 있습니다. Joomla CMS를 가져 와서 파일을 보호하려고합니다.
답변:
이 코드는 현재 로그인 한 사용자가 수퍼 유저인지 여부를 결정합니다.
$user = JFactory::getUser();
$isroot = $user->authorise('core.admin');
이 코드는 구성 요소 수준뿐만 아니라 전역 구성에서 "슈퍼 사용자"권한에 매핑 된 항목을 검사합니다. 다른 방법과 비교하여 직접 확인하십시오.
core.admin
확인하는 것보다 낫습니다 core.edit
.
libraries/joomla/user/user.php
파일의 747 행에서 찾을 수 있습니다 . $iAmSuperAdmin = $my->authorise('core.admin');
"슈퍼 사용자"상태를 확인하려면 확인해야 $user->isRoot
합니다. 이 속성은 첫 번째 승인 확인이 완료되고 사용자가 최고 관리자 인 것으로 감지 된 후에 설정됩니다.
그러나 일반적으로 다른 답변에 설명 된 것과 같은 특정 권한이 사용자에게 있는지 확인하는 것이 좋습니다.
특정 그룹에 속하지 않은 사람을 거부하는 조건을 사용할 수 있습니다.
$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;
if(in_array(8, $user->groups))
했고 그것은 나를 위해 일했다
로그인 사용자가 최고 관리자인지 다른 사용자인지 확인하려면 아래 코드를 시도하십시오 ...
$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';
}
$user->get('isRoot');
J3.6.2에서는 작동하지 않습니다.
Joomla @since 3.2, UserGroupList 필드는이를 사용하여 확인합니다.
$isSuperUser = JFactory::getUser()->authorise('core.admin');