- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DiscuzX2与IDS轻量级集成手册概要
DiscuzX2与IDS轻量级集成手册
一、单点登录
1、用户从IDS端登录
1) 用户输入用户名密码,从IDS登录;
2) discuz端首次打开的时候通过ids_client.php方法ids_user_token() 重定向去IDS获取全局会话ID
3)discuz端依据全局会话ID,向IDS获取已登录用户完整信息
请求地址:http://IDS的地址/service?idsServiceType=httpssoserviceserviceName=findUserBySSOID
具体参见ids_client.php方法ids_check_login($ssoId)
4) discuz取到用户信息以后,执行本地登录。
具体参见ids_login.php
用户在IDS和论坛都存在,并且密码相等(密码取自IDS字段:plainUserPwd),论坛直接登陆。
用户在IDS存在但是在论坛不存在,论坛走匿名用户显示当前页面。
用户在IDS和论坛都存在,但密码不相等(密码取自IDS字段:plainUserPwd),论坛走匿名用户显示当前页面(用户名重复,不是同一用户)。
2、用户从discuz端登录
1) 首次登录discuz,判断本地是否登录。如果没有本地登录,判断cookie是否存在IDS全局会话ID。
2)如果本地cookie中没有全局会话ID,则向IDS的LoginServlet地址,发起重定向请求,获取全局会话ID。
3) discuz获取到全局会话ID后,根据全局会话ID向IDS请求判断是否存在登录用户信息
请求地址:http://IDS的地址/service?idsServiceType=httpssoserviceserviceName=findUserBySSOID
具体参见ids_client.php方法ids_check_login($ssoId)
4)如果discuz取到已登录的用户信息,则执行本地登录;
5)如果discuz没有取到已登录用户信息,则跳转到登录页面,让用户登录;并且,登录时,discuz需要调用IDS的登录服务请求接口,请求IDS做全局登录。
请求地址:http://IDS的地址/service?idsServiceType=httpssoserviceserviceName=loginBySSOID
具体参见ids_client.php方法ids_user_login($username, $password, $sourceName, $clientIp)
用户在IDS和论坛都存在,并且密码相等(密码取自IDS字段:plainUserPwd),IDS先登陆,用返回的用户名和密码做论坛本地登陆。
用户在IDS存在但是在论坛不存在(IDS【message】返回值为‘不存在该用户!’),直接走论坛本地登陆。
用户在IDS和论坛都存在,但密码不相等(密码取自IDS字段:plainUserPwd),IDS提示用户名密码错误后走论坛本地登陆(此时记录一条日志)。
以上的a、b、c总结到一起就是:当提交登陆的用户名和密码通过IDS接口后返回用户数据那么就替换用户提交的登陆用户名和密码为相应的返回值做本地登陆,一旦返回的是错误就直接走本地登陆。
注释:uc用户表pre_ucenter_members中的用户密码为IDS同步推送用户数据中的plainUserPwd字段的值进行md5($password.$user[salt]),discuz论坛用户表pre_common_member中的密码为IDS同步推送用户数据中的plainUserPwd字段的值。
二、用户同步
1、
在IDS端注册的discuz应用,用户同步方式配置为HTTP同步,并且需要配置在discuz添加用户,修改用户,删除用户三个URL地址;
2、从IDS添加用户,同步推送到discuz 1)IDS注册一条用户信息以后,根据是否有discuz访问登录的权限判断,会向discuz应用配置的添加用户URL推送用户数据;
2)discuz添加用户的URL,按照IDS用户同步设置页面提示的属性名,如userName,email, plainUserPwd等格式接收用户数据,并保存到本地数据库;
3、从IDS修改用户密码等信息,同步推送到discuz
1)IDS修改用户密码以后,根据是否有discuz访问登录的权限判断,会向discuz应用配置的修改用户URL推送用户数据;
2)discuz修改用户的URL,按照IDS同步设置页面提示的属性名,如userName,email, plainUserPwd等格式接收用户数据,并更新到本地数据库;
4、从discuz前台注册或者后台添加用户,都不同步推送到ids
三、
文档评论(0)