欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

diacuz登录状态是怎么存储的?

程序员文章站 2024-01-25 21:14:52
...
现在需要用到单点登录对dz论坛进行整合,原理是这样的:
通过单点登录实现用户的登录->单点登录验证通过返回用户名给dz->通过用户名获取用户uid->通过uid实现dz也已经登录,现在不知道最后一步“通过uid实现dz也已经登录”怎么实现。我用户名我用过cookie保存之后可以跳转到用户激活的状态页面,如图: 而不是用户已经登录成功的状态,如图: 而且uid也得不到,请问怎么根据uid设置dz整个论坛的登录成功状态???急!!!


回复讨论(解决方案)

dz 的用户管理是通过 uc 实现的,而 uc 就是为单点登录而设计的
你只需在 uc 的控制面板中做些设置,通过 uc 的客户端函数就可实现单点登录了

dz 的用户管理是通过 uc 实现的,而 uc 就是为单点登录而设计的
你只需在 uc 的控制面板中做些设置,通过 uc 的客户端函数就可实现单点登录了


你好,我是用的自己的单点登录,登录成功之后返回给dz用户名,然后设置dz中的用户状态,用户的用户名获取到了$uid,但是还是跳转到激活状态,请问怎么可以让页面显示正常登录成功之后的状态呢?不知道为什么我设置的$_G['uid']其他页面得不到的!!!帮忙看下是什么问题吧,多谢啦!!!

$_G['uid']是在那用的,你自己的页面吗,是的话,当然不行了

不是在我自己的页面用的,还是dz原来的页面用的。问下为什么在我自己的页面不能用$_G['uid']的?

不是在我自己的页面用的,还是dz原来的页面用的。问下为什么在我自己的页面不能用$_G['uid']的?


这个我刚做过,比较了解,dz登录这块的判断其实是通过cookie实现的,而且验证的时候还是对加密过的密码进行核对的。
dsetcookie('auth', authcode("{$member['password']}\t{$member['uid']}", 'ENCODE'), $cookietime, 1, true);		//这里的passwod是pre_common_member表中经过加密后的密码			dsetcookie('loginuser',$username);			dsetcookie('activationauth');			dsetcookie('pmnum');