Покопаемся немного во внутренностях Joomla 2.5. Все таблицы для иcключения конфликтов между разными сайтами в одной БД идут с префиксом, задаваемым (либо сгенерированным) во время установки. Информация о пользователях Joomla хранится в таблицах:

 

mysql> desc prefix_users;
Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
name varchar(255) NO MUL    
username varchar(150) NO MUL    
email varchar(100) NO MUL    
password varchar(100) NO      
usertype varchar(25) NO MUL    
block tinyint(4) NO MUL 0  
sendEmail tinyint(4) YES   0  
registerDate datetime NO   0000-00-00 00:00:00  
lastvisitDate datetime NO   0000-00-00 00:00:00  
activation varchar(100) NO      
params text NO   NULL  
lastResetTime datetime NO   0000-00-00 00:00:00  
resetCount int(11) NO   0  

О группах:

mysql> desc prefix_usergroups;
Field Type Null Key Default Extra
id int(10) unsigned NO PRI NULL auto_increment
parent_id int(10) unsigned NO MUL 0  
lft int(11) NO MUL 0  
rgt int(11) NO   0  
title varchar(100) NO MUL    

О принадлежности пользователя к группам

mysql> desc prefix_user_usergroup_map;
Field Type Null Key Default Extra
user_id int(10) unsigned NO PRI 0  
group_id int(10) unsigned NO PRI 0  

Добавляем пользователя

 mysql> insert into prefix_users( `name`, `username`, `email`, `password` ) values( 'testing user', 'test1', 'test0example.com', md5('123456') );

Назначаем пользователю права

 insert into prefix_user_usergroup_map ( `user_id`, `group_id`) values ( LAST_INSERT_ID(), 8);

Здесь пользователю назначается группа с идентификатором 8. Список всех групп можно посмотреть запросом:

 mysql> select * from prefix_usergroups;

Аналогично можно удалять пользователей, менять им пароли и т.д.

Добавить комментарий
  • Комментарии не найдены