1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ucenter单点登录

ucenter单点登录

时间:2019-11-07 10:07:31

相关推荐

ucenter单点登录

ucenter单点登录原理是跨域设置用户信息。

实现的关键:

ucenter文件与应用的融合

融合方式包括模块,或第三方库,如果将ucenter做成自己应用的模块,建议对ucenter中client.php中的方法进行封装处理。如果是第三方库,可以在应用的登录、登出时,直接调用相关函数,但是前提是引入配置文件(这里是ucenter中的配置信息)和client.php。

ucenter文件的调用

核心文件包括uc.php, client.php,建议深度阅读client.php文件中的相关函数。

创建应用

本地或服务器安装ucenter,然后创始人登录后,在左侧菜单选择<应用管理>中添加新应用(自定义),配置相关信息(如名称、url、秘钥、类型、接口文件类型,开启同步登录),提交后创建成功的同时,会在底部生成相关的配置信息(重要),需要你配置到你的应用中,否则通信失败。

当通信成功后,你需要做的就是在应用的登录、登出逻辑中添加ucenter的注册、登录逻辑即可。这样就实现了该功能,效果就是当用户登录应用时,该用户也会同步登录ucenter。在ucenter中的用户管理菜单下,看到该用户。

配置文件分析

//注意,如果是应用和ucenter都在一个服务器上,那么对应的值是mysql, 如果不在,值是NULLdefine('UC_CONNECT', 'NULL');//同一个服务器可用localhost, 不在,值为ucenter服务器ipdefine('UC_DBHOST', 'ip'); //mysql用户名define('UC_DBUSER', 'root');//mysql密码define('UC_DBPW', 'xxx');//ucenter数据库名称define('UC_DBNAME', 'xxx');//ucenter数据库编码define('UC_DBCHARSET', 'gbk');//ucenter数据库表前缀define('UC_DBTABLEPRE', '`xxx`.uc_');//数据库持久化连接,nodefine('UC_DBCONNECT', '0');//应用与ucenter通信密钥define('UC_KEY', '123456');define('UC_API', 'http://域名/ucenter');define('UC_CHARSET', 'gbk');define('UC_IP', '');//在ucenter中创建的应用的iddefine('UC_APPID', '2');define('UC_PPP', '20');

当然通信失败有必要原因罗列一下:

UC_APPID不同UC_KEY不同ucenter与应用不在同一服务器,将配置信息设置如下:

define('UC_CONNECT', 'NULL');define('UC_DBHOST', 'ip');

大致就讲这些吧,client中函数自己去看吧,本人是拿yii2.0与ucenter进行结合的,希望对用到这些的朋友有用!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。