已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UCenter 和ThinkPHP同步注册问题一、在项目中建立文件夹,如 uc_con二、在discuz论坛的寻找文件1、论坛目录下的 config.inc.php2、论坛目录下的 uc_client里面的所有内容3、将config.inc.php 和 uc_client文件夹都复制到 uc_con 中三、建立测试文件在uc_con中建立文件 test.phptest.php文件的内容?require (config.inc.php);require (uc_client/client.php);$uid = uc_user_register(11111, admin, 111);if($uid四、如果是ThinkPHP调用的话,会存在类冲突问题更改方法:1、更改db类更改 uc_client/lib/db.class.php第11行 将 class db 改为 class uc_db 更改 uc_client/model/base.php第73行 将 $this-db = new db(); 改为 $this-db = new uc_db();2、更改base类更改 uc_client/model/base.php 第24行 将 class base 改为 class uc_base 更改所有继承自base类的文件uc_client/control/下所有的php文件这些文件有:app.phpcache.phpdomain.phpfeed.phpfriend.phpmail.phppm.phptag.phpuser.php将 extends base 改为 extends uc_base 如果以上修改还是不行,那就请把model和control中所有类中的构造函数全部删除ThinkPHP 和 UCenter接口的冲突 1、引出问题 在UCenter中存在db和base两个类,恰巧这两个类也存在于ThinkPHP中,因此出现问题是必然的事情。 db类:uc_client/lib/db.class.php base类:uc_client/model/base.php2、解决问题 只要消除“重名”即可解决,因此选择更改UCenter中的名称。3、实际操作 db类: 更改db.class.php文件 class db 更改成 class uc_db 更改uc_client/model/base.php文件 将init_db函数中的$this-db = new db(); 更改成 $this-db = new uc_db(); base类: 更改uc_client/model/base.php文件 将class base 更改成 class uc_base 将uc_client/control/目录下的所有文件中的类中的base改成uc_base,即继承uc_base 以uc_client/control/app.php文件为例 将class appcontrol extends base 更改为 class appcontrol extends uc_base 4、结束 uc_client打包下载 可直接使用,目前版本1.5。ThinkPHP + Discuz 整合方法 ThinkPHP + Discuz 整合方法以下是Discuz6的整合方法,discuz5请按照里面的说明进行相应的修改,也可以使用了。1.在项目的action目录下信件PublicAction.class.php。这样写:代码: 复制内容到剪贴板class PublicAction extends Action function login() $this-display(); if(!isset($_SESSIONC(USER_AUTH_KEY)|$_SESSIONC(USER_AUTH_KEY)=0) $this-display(); return ; else redirect(_APP_); function index() /如果通过认证跳转到首页 redirect(_APP_); function checkLogin() / 这里使用用户名、密码和状态的方式进行认证。这里是discuz6.1,discuz5的加密方式不一样。用discuz5的话你需要修改下面这一句。/注意!这里直接把$_POSTname和$_POSTpassword放到查询语句中是不安全的。请先进行处理!我是自己处理的,这里没有贴。我在找ThinkPHP中的处理函数,还没有找到。 $authInfo = RBAC:authenticate(username=.$_POSTname. AND password = md5(concat(md5(.$_POSTpassword.),salt); if(false = $authInfo) echo 登录失败,请检查用户名和密码是否有误!; else / 设置认证识别号 session_register(C(USER_AUTH_KEY); session_register(loginid); $_SESSIONC(USER_AUTH_KEY) = $authInfouid; / 这里用户表的id字段 $_SESSIONloginid = $authInfousername;/ 这里用户表的用户名字段 /获取并保存用户访问权限列表 RBAC:saveAccessList(); dump($_SESSION); echo strtoupper(APP_NAME). .strtoupper(MODULE_NAME). .strtoupper(ACTION_NAME); 2.然后在模板中新增登陆模板,路径为Tpl/default/Public/Login.html这里把官方教程中的模板贴出来,省的再去找了:代码: 复制内容到剪贴板 系统管理登录 帐 号:密 码:3.在Model目录中新增一个UserModel.class.php代码如下:代码: 复制内容到剪贴板class UserModel extends Modelprotected $trueTableName = uc_members;/这里是ucenter的用户表的表名。如果你在uc中修改了前缀,就把表名的uc部分修改成自己的。 4.可以了进行登录了。就这些。昨天看ThinkPHP的文档看了一整天。TP不是一般的强大啊。个人感觉比FLEAPHP强很多。如果你使用的是discuz5版本,由于没有ucenter,需要修改两个部分。一是 PublicAction.class.php中的$authInfo = RBAC:authenticate(username=.$_POSTname. AND password = md5(concat(md5(.$_POSTpassword.),salt);二是 UserModel.class.php 中的uc_members改成相应数据表。5. 下载RBAC。在使用中除了上面的还不够。还要进行RBAC赋权的操作。这里你需要下载一个官方的RBAC示例,推荐放在和你的程序平级的目录。6.修改RBACModel下的UserModel.class.php内容是下面的代码。这个和前面的UserModel.class.php一致。可以直接复制过来代码: 复制内容到剪贴板class UserModel extends Modelvar $trueTableName=uc_members;还要修改GroupAction.class.php中的function user()代码如下:代码: 复制内容到剪贴板function user() /读取系统的用户列表 /以下三句请根据实际情况进行修改 $userDao = D(User); $list = $userDao-findAll(,uid,username);/我们修改了这里 $userList = $userDao-getCols($list,uid,username);/还有这里,其他的不要动了。 $groupDao = D(Group); $list = $groupDao-findAll(,id,name); $groupList = $groupDao-getCols($list,id,name); $this-assign(groupList,$groupList); /获取当前用户组信息 $groupId = isset($_GETid)?$_GETid:; $groupUserList = array(); if(!empty($groupId) $this-assign(selectGroupId,$groupId); /获取当前组的用户列表 $list = $groupDao-getGroupUserList($groupId); $groupUserList = $groupDa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 墙面修复质保协议书
- 2025-2030中国液体化工物流行业政策支持与产业升级路径报告
- 员工履行责任协议书
- 协议丢失补签协议书
- 2025年ntet考试试题及答案
- 2025年计算机一级考试真题题库合集附答案
- (2025年)低压电工模拟练习题(附参考答案)
- 职业卫生与安全考试试卷及答案2025年
- 2025年驾驶员安全教育培训考试试题及答案
- 蜗牛与黄鹂鸟故事
- 2025年辅警面试考试题库题库及答案解析
- 预制预应力管桩基础工程施工方案(合集五篇)
- (2025)全国《职业教育法》知识题库与答案
- 民非企业财务管理制度
- 购物卡互通协议书
- GB/T 14600-2025电子气体一氧化二氮
- 机动车C4D驾照试卷及答案
- 顺丰公司安全管理制度
- 下一步生产计划和调度计划
- 空间碎片监测与防护-深度研究
- 2024年内蒙古对口高考中职英语试卷
评论
0/150
提交评论