建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 网站地图 | 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:建站技术网 > cms教程 > 帝国cms教程

使用openid登录到帝国CMS系统的方法,适用于登录开放平台

时间:2019-05-12 11:12:23  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:0次

首先我们来看一下会员表字段

 

字段名 类型 解释 附加说明
userid int(11) 用户ID  
username varchar(30) 用户名  
password varchar(32) 用户密码  
rnd varchar(30) 随机认证码  
email varchar(50) 联系邮箱  
registertime datetime 注册时间  
groupid smallint(6) 会员组ID  
userfen int(11) 点数  
userdate int(11) 有效期  
money float(11,2) 金额  
zgroupid smallint(6) 到期后转向会员组ID  
havemsg tinyint(1) 是否有短信息 1为提示有短信息,0为不提示
checked tinyint(1) 是否审核 1为已审核,0为未审核
salt varchar(8) salt密码加密随机码

相关字段说明

涉及登陆的字段有username,password,rnd,salt,checked
username: 就是用户名不用说
rnd:是randomize的缩写,取得随机数的意思,记录中会员每登陆一次变一次,用这个随机数来判断当前登陆是否有效,用两个非IE内核浏览器登陆同一个会员,第一个登陆的被挤掉就是RND的效果。
checked:会员是否被审核
password,salt:共同用于密码会员密码验证

openid第一次连接帝国CMS 或者绑定帝国CMS账号

新浪微博,腾讯微博,QQ空间等等都会给一个openid,比如新浪微博的是weiboid,腾讯微博的是nickname,QQ空间给的是openid,无论第一次连接注册还是绑定原有帝国CMS账号都是绑定一个openid而已,所以在一般在帝国CMS主表新建一个字段用于储存openid;

以后的连接

以后的连接就简单了,获得返回的OPENID后搜索帝国CMS会员主表,如果有存在的OPENID就执行登陆,没有就执行注册或绑定,trylife用的登陆函数如下:openid已经是绑定的,所以函数更新下RND之后写COOKIE就可以;买过trylife插件的童鞋可以看下这个函数在,e/trylife/common/Dev/ecms-rd-common-functions.php

折叠PHP 代码
  1. function ecms_memberlogin($userid)  
  2. {  
  3.     global $empire,$user_tablename,$public_r,$user_groupid,$user_username,$user_userid,$user_email,$user_password,$user_dopass,$user_rnd,$user_registertime,$user_register,$user_group,$user_saltnum,$user_salt,$user_seting,$forumgroupid,$registerurl,$dbtbpre,$user_regcookietime,$user_userfen,$user_checked,$level_r;  
  4.     $r=$empire->fetch1("select * from ".$user_tablename." where ".$user_userid."='$userid' limit 1");  
  5.     $rnd=make_password(12);  
  6.     $sql=$empire->query("update ".$user_tablename." set ".$user_rnd."='$rnd' where ".$user_userid."='$userid' ");  
  7.     $logincookie=0;  
  8.     $set1=esetcookie("mlusername",$r[$user_username],$logincookie);  
  9.     $set2=esetcookie("mluserid",$r[$user_userid],$logincookie);  
  10.     $set3=esetcookie("mlgroupid",$r[$user_group],$logincookie);  
  11.     $set4=esetcookie("mlrnd",$rnd,$logincookie);  
  12.       
  13.     if$set1 && $set2 && $set3 && $set4 )  
  14.     {  
  15.         $re=1;    
  16.     }  
  17.     else  
  18.     {  
  19.         $re=0;  
  20.     }  
  21.       
  22.     return $re;  
  23. }  
标签:
文章标题:使用openid登录到帝国CMS系统的方法,适用于登录开放平台
文章网址:http://www.jzjsw.com/cmsJiaocheng/diguocms/11305.html
上一篇:利用帝国CMS数据表关联字段 提高帝国CMS二次开发关联模型效率
下一篇:替换掉帝国cms默认评论框的表情图标
来顶一下
返回首页
返回首页
相关文章
    无相关信息
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
最新文章
栏目更新
栏目热门