JUser: работа с объектом пользователя
Для каждого запроса в Joomla существует только один пользователь. Информация об этом пользователе постоянно доступна во фреймворке Joomla в форме объекта. В этой статье я рассмотрю как работать с объектом пользователя, а также опишу основные свойства и методы объекта.
Для получения объекта текущего пользователя, используйте следующий JFactory
метод:
Для получения информации о любом другом зарегистрированном пользователе Вы можете вызвав метод getUser()
с аргументом id
или
имя_пользователя
:
Основная часть информации о пользователе доступна через публичные свойства объекта пользователя. Приведенный ниже код отображает имя, адрес электронной почты, имя пользователя (логин), тип и id группы: Список основных свойств объекта: *id – уникальное цифровое id пользователя. Очень часто необходимо проверить, залогинился пользователь или нет. Это легко можно проверить с помощью такого способа: В дополнение к свойствам (которые сохраняются в базе данных в колонках таблицы Не все авторизированные пользователи получают одинаковые права. Например, Суперадминистратор может редактировать содержимое любого пользователя, в то время как Автор может редактировать только свое содержимое. Метод В Joomla 1.5 права для всех базовых компонентов хранятся в Права базовых функций могут и не подходить для Вашего расширения. В таком случае, Вы можете создать свои права. Сначала, Вам необходимо получить доступ к объекту авторизации, используя *имя Вашего расширения или функции; Если Вы хотите указать типы записей и права, то передайте их в качестве необязательных параметров.
Свойства объекта и Параметры
*name – имя пользователя (например, John Smith).
*username – логин/имя пользователя (например, shmuffin1979).
*email – адрес электронной почты пользователя (например, Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
).
*password – зашифрованная версия пароля пользователя.
*password_clear – устанавливается как «чистый» пароль пользователя только тогда, когда происходит процесс изменения пароля. В противном случае, остается пустым.
*usertype – Тип пользователя внутри Joomla (Администратор, Управляющий и т.д.).
*gid – id группы, которая соответствует типу пользователя.
*block – устанавливается в значение '1', когда пользователь заблокирован в Joomla.
*registerDate – дата регистрации пользователя.
*lastvisitDate – дата последнего посещения.
*guest – если пользователь не залогинен, то это свойство принимает значение '1'. Остальные свойства объекта в таком случае будут не установлены или установлены в значения по умолчанию.#__users
), существуют также параметры пользователя. Для получения значения параметра, необходимо вызвать метод getParam()
объекта пользователя. При этом в качестве аргумента необходимо передать имя параметра, а также значение по умолчанию, в случае если оно будет пустым.Привилегии
authorize()
как раз и используется для того, чтобы определить, имеет ли пользователь права выполнять определенные задачи. Первый аргумент используется для определения компонента или функции, для которых выполняется проверка. Второй аргумент определяет задачу. Третий и четвертый аргументы необязательны; они определяют типы записи и права соответственно.libraries/joomla/user/authorization.php
. Они доступны всем расширениям, в том случае, когда требуется аутентификация. Если схема прав компонента Content
подходит для Вашего расширения, то для определения функций, которые необходимо предоставить пользователю, Вы можете использовать, например, такой код:JFactory
метод getACL(). Он работает, так же как и getUser()
, создавая один объект авторизации в течение любого отдельного запроса Joomla. Как только Вы получили доступ к объекту, то вызывайте метод addACL()
для добавления прав. Передайте в качестве аргументов:
*имя задачи;
*строку 'users';
*тип пользователя (маленькими буквами).
Имейте в виду, что в Joomla 1.5 права не наследуются. Например, если Вы дали Администратору право на редактирование содержимого, то Суперадминистратор автоматически не получает это право; Вы должны предоставить его отдельно.
http://blog.contra.lv/2011/04/23/juser-rabota-s-obektom-polzovatelya/
JUser: работа с объектом пользователя - Генератор расширений Joomla и многое другое на нашем сайте посвященном работе расширений, компонентов, модулей, плагинов для линейки Joomla. Отправляйте ссылку на страницу своим друзьям и в социальные сети воспользовавшись графическими иконками выше.