joomla用户权限分析-用户注册过程 【转】
2010-02-10 11:55
232 查看
我们来仔细看整个注册过程,实际上最为重要是com_users/models/user.php中的store()函数,在这个函数中主要是调用了JTableUser的store函数,
以及在session表中保存了session数据。
再跟踪下去看看JTableUser类store函数,对一次注册过程来说:
第一句程序显示是在jos_users中增加了一个用户
第二句程序是在jos_core_acl_aro增加了记录
第三句程序是jos_core_acl_groups_aro_map增加了记录
最终实际上一个用户登录过程涉及到增加记录的表共计四个,jos_users,jos_core_acl_aro,jos_core_acl_groups_aro_map,jos_sessions。
也就是说,如果要手工添加一个用户,要在这个四张表中增加相应的记录才能够完成整个动作。
手动添加用户
jos_users 手动插入
然后
if (!$user->save()) { $this->setError( $user->getError() ); return false; }
以及在session表中保存了session数据。
$table = $this->getTable('session', 'JTable'); $table->load($session->getId()); $table->username = $user->get('username'); $table->store();
再跟踪下去看看JTableUser类store函数,对一次注册过程来说:
// new record $ret = $this->_db->insertObject( $this->_tbl, $this, $this->_tbl_key ); // syncronise ACL $acl->add_object( $section_value, $this->name, $this->$k, null, null, 'ARO' ); $acl->add_group_object( $this->gid, $section_value, $this->$k, 'ARO' );
第一句程序显示是在jos_users中增加了一个用户
第二句程序是在jos_core_acl_aro增加了记录
第三句程序是jos_core_acl_groups_aro_map增加了记录
最终实际上一个用户登录过程涉及到增加记录的表共计四个,jos_users,jos_core_acl_aro,jos_core_acl_groups_aro_map,jos_sessions。
也就是说,如果要手工添加一个用户,要在这个四张表中增加相应的记录才能够完成整个动作。
手动添加用户
jos_users 手动插入
然后
insert into vps_core_acl_aro (section_value,value,order_value,name,hidden) (select 'users',u.id,0,u.username,0 from vps_users u where u.id=‘刚插入user表自增Id’) insert into vps_core_acl_groups_aro_map (group_id,aro_id) (select 18,u.id from vps_core_acl_aro u where u.id=‘刚插入#_core_acl_aro自增Id’)
相关文章推荐
- linphone用户注册与sip交互过程分析
- joomla用户权限分析-系统权限项定义 【转】
- pms包管理服务分析-权限管理和鉴权过程
- mysql 给普通用户public授予创建存储函数、存储过程的权限
- Android应用程序注册广播接收器(registerReceiver)的过程分析
- 关于iStorage Server用户权限的分析
- MySQL存储过程权限分析
- 如何实现只授予用户查看存储过程定义的权限
- 存储过程中insert其它用户的表,编译提示无权限的处理
- C# 全过程用户权限实现策论 (1.Windows身份验证)
- shiro实现url级别的权限控制(用户登录)配置文件分析
- day05 创建用户过程、文件夹,文件等权限修改等
- 机房收费系统——用户权限和功能分析
- 为一用户加受控权限用户过程
- Shiro源码分析 -- Subject.isPermitted(permission)已登陆用户判断是否具有某权限
- Android应用程序注册广播接收器(registerReceiver)的过程分析
- 一步一步SharePoint 2007之十九:解决实现注册用户后,自动具备访问网站的权限的问题(1)——配置Provider
- 自制证书时报"此证书模板上的权限不允许当前用户注册此类型的证书"的解决办法
- 在存储过程中查询dba_tables表的时候,需要赋权限给该用户
- Ucenter的用户注册和登录分析