码迷,mamicode.com
首页 > 编程语言 > 详细

javaEE SSH框架 qq第三方登录及用户绑定

时间:2016-04-02 19:01:53      阅读:656      评论:0      收藏:0      [点我收藏+]

标签:

前几天刚申请好域名,下面实现网站的qq第三方登录的功能,javaEE的SSH框架。(一些细节问题没有处理,只是大体上实现)

一:首先说一下需求,第一次使用qq第三方登录的用户需要绑定已有的网站用户名,绑定成功后进入首页。以后再使用qq第三方登录就直接进入网站首页。

二:要想使用qq第三方首先需要申请应用(需要有自己的域名)

(1)登录qq互联网站申请应用,http://connect.qq.com/

技术分享

(2)创建应用

技术分享

(3)创建好之后还是可以修改的,这里回调地址我用的是域名+back.jsp界面(这个界面里没什么东西 ,就是引用一下js文件,具体看下面)

技术分享

(4)会得到一个APPID,这样就可以进行开发了。

技术分享

三:有关界面方面

(1)引入js文件,data-appid就是自己申请的APPID

技术分享

(2)界面加入如下代码

技术分享

然后就可以看到第三方登录按钮了

技术分享

(3)回调界面,引用一下js文件即可。

技术分享

四:下面写javascrip处理代码,这个是它的JS_SDK的官方文档,

http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

每个登录用户成功登陆后都会返回一个唯一的openId标识和对应的accessToken

(1)先定义一个form表单,定义两个隐藏标签,将来会得到的openId和accessToken,然后将其交给Action处理

技术分享

(2)获取用户信息的js代码(它的文档上都有),可以alert一些信息,便于调试,

技术分享

.complete函数里可以将得到的openId和accessToken的值付给对应的隐藏标签,然后提交表单,交由Action层处理

技术分享

五:后台处理部分

(1)先设计一下实体类,之前有一个用户类,再定义一个qq登陆信息的类,一对一关系,然后写hibernate映射文件,生成表即可(我这里采用是实体类生成表的方法,具体看我之前的博客,当然也可以先建表然后反向工程生成实体类),

技术分享

(2)上面提交表单对应的action为bindUserUI,首先查询qq信息表中是否已有数据,如果有并且对应的user不为null,就将其对应的user存入session,跳转到首页;

如果没有则先保存到数据库,跳转绑定界面。(细节再处理)

技术分享

(3)绑定界面需要用户输入网站的账号密码等信息。

技术分享

(4)对应处理的方法,如果输入信息正确就设置qq信息表中对应的user外键,成功后跳转首页。

技术分享

六:测试

(1)输入登录地址

技术分享

(2)弹出登录界面,点击登录

技术分享

(3)登录后会alert一些我们之前加的信息

技术分享

(4)第一次登录需要绑定账号

技术分享

技术分享

(5)绑定成功后跳转首页

技术分享

(6)发现数据库插入信息正确

技术分享

(7)然后再次登录,

技术分享

(8)直接进入首页

技术分享

七:总结

申请qq第三方登录应用需要自己的网站和域名,我之前买的阿里云的CentOS服务器,学生购买有优惠,域名是在万网买的。

这次只是实现了第三方的登录和用户的绑定,一些细节、逻辑问题自己再处理。



javaEE SSH框架 qq第三方登录及用户绑定

标签:

原文地址:http://blog.csdn.net/u013082989/article/details/51044032

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!