0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 4525 Просмотров
*

brotheryura

  • Новичок
  • 9
  • 0 / 0
Добрый день товарищи, возникла необходимость проверки является ли пользователь администратором для модуля, на стороне back-end.
Для J3 код работает нормально, но для j2.5 не отрабатывает, кто подскажет как проверяется админ или не админ в версии 2.5.

Код
$user = JFactory::getUser();
$isroot = $user->get('isRoot');

Как я вижу у J2.5 в БД в таблице "_users"  есть поле "usertype", сейчас оно уже "deprecated", и как я вижу для моего пользователя с id=170 в таблице "_user_usergroup_map"  "group_id" = 8, a в таблице "_usergroups" есть поле "id" = 8, но в описании - не администратор, а "Super Users". Уже стало понятно, что это юзер мой не админ, а "Super Users".

Дело в том, что модуль работает с БД посредством AJAX и я хотел бы закрыть возможность доступа с уровнем ниже админа  для этого модуля, получается, что нужно ограничить доступ тем кто не "Super Users" и "Administrator", есть простой способ что-то вроде get() чтобы проверить эти условия?
« Последнее редактирование: 18.10.2013, 12:10:17 от smart »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
А что в вашем понимании означает Администратор? Группу пользователей можно назвать как угодно, хоть Диктатор. От названия группы ничего не зависит, все зависит о прав, которыми эта группа обладает. Можно и обычному администратору дать столько же прав, сколько по умолчанию у Супер-администратора.
*

brotheryura

  • Новичок
  • 9
  • 0 / 0
Понятно спасибо! Значит следует проверять права, подскажите пож-та таблицу в которой прописаны права?
« Последнее редактирование: 18.10.2013, 13:19:56 от smart »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
//Функция проверяющая на принадлежность пользователя к группам
function getAccess($groups=array(), $user_id=0)
{
if ($user_id == 0) $user_id = JFactory::getUser()->id;
if (count($groups) == 0 || $user_id == 0) return false;
return (count(array_intersect(JFactory::getUser($user_id)->getAuthorisedGroups(), $groups))>0);
}
//разрешенные группы
$groups = array(18, 8);// массив групп указываем через запятую
if(getAccess( $groups)) echo 'Разрешено';
*

brotheryura

  • Новичок
  • 9
  • 0 / 0
Спасибо вам большое! + в репутацию;-)
« Последнее редактирование: 18.10.2013, 13:19:49 от smart »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заменить кнопку войти на выйти, когда пользователь авторизовался?

Автор silverman

Ответов: 35
Просмотров: 18238
Последний ответ 07.01.2019, 22:22:11
от skinny
Как узнать на какой странице находится пользователь?

Автор vitaan

Ответов: 7
Просмотров: 1281
Последний ответ 30.07.2015, 13:54:03
от vitaan
Пользователь для модерации сайта

Автор eashla

Ответов: 2
Просмотров: 771
Последний ответ 27.11.2014, 23:08:34
от eashla
После запроса сброса пароля пользователь деактивируется

Автор Maxum

Ответов: 1
Просмотров: 789
Последний ответ 04.05.2014, 03:02:27
от Maxum
Информация о том, сколько страниц просмотрел зарегистрированный пользователь (Joomla 2.5)

Автор Session152

Ответов: 8
Просмотров: 971
Последний ответ 19.02.2014, 09:01:59
от egorovv