2017-11-10 11:37:58 2460次浏览 2条回答 1 悬赏 15 金钱

现在有很多第三方登录,一个网站有 自带注册登录,QQ登录,微信登录,微博登录等一大堆
那么我怎么区分用户是怎么登录的呢?如何知道用户是QQ登录还是微信登录,因为要通过不同的模型关联不同的第三方数据

最佳答案

  • tmy 发布于 2017-11-10 11:57 举报

    我是这样解决的.
    1,建立一张用户绑定表(user_oauth2).user_id qq_openid wx_openid wb_openid
    2,然后用户关联这张表就可以知道他有绑定没有了.

    7 条回复
    回复于 2017-11-10 12:25 回复

    我也是这么做的,比如user表有qqid wxid 对应wx_user_info qq_user_info,

    比如wx登录,获取到openid,然后在wx_user_info中查询看,然后返回user的ID,用YII::$app->user->login登录

    我想问的是,登录怎么知道是用什么方式登录的呢?因为QQ 微信 新浪如果直接把资料更新到user表,那么三个资料就互相覆盖了,我想知道,怎么用QQ登录,YII::$app->里面的资料为QQ资料 微信的登录就是取出wx_user_info的资料

    回复于 2017-11-10 12:55 回复

    你想知道他每次登录都用什么方式登录的那你就弄个日志表.把每次用啥登录记录下来

    回复于 2017-11-10 14:42 回复

    貌似是唯一的办法了

    回复于 2017-12-27 10:25 回复

    你好 我想问一下 我有userid了 如何通过 YII::$app->user->login登录?请问方法在哪里,我找了没找着

    回复于 2018-01-02 00:32 回复

    假如数据表是user表

    表的AR模型为User
    $member=User::findOne($id);
    \Yii::$app->user->login($member, 3600 24 30);

    回复于 2018-01-02 00:33 回复

    @竹林风$member是用户的对象,后面是登录有效期秒

    回复于 2018-03-22 09:03 回复

    谢谢!

您需要登录后才可以回答。登录 | 立即注册
竹林风
经理

竹林风

注册时间:2017-04-06
最后登录:2022-02-15
在线时长:53小时3分
  • 粉丝4
  • 金钱135
  • 威望40
  • 积分1065

热门问题