微信用户授权流程+代码
来源:互联网 发布:软件系统调研报告 编辑:程序博客网 时间:2024/05/21 17:50
1.先上流程图
2.再上代码
@RequestMapping("/callback") public void getUserInfo(HttpServletRequest req,HttpServletResponse resp){ JSONObject jsonObject = WeiXinUtil.getUserInfoByTokenAndOpenID(req); System.out.println(jsonObject); String openId = jsonObject.getString("openid"); System.err.println("openId:"+openId); boolean flag = false; User user=null; if (openId!=null) {// 遍历tb_user中的openId,看看当前的openId是否在数据库中 List<String> openIds = userService.listAllOpenId(); for (String open_id : openIds) { if (openId.equals(open_id)) {//当前微信openId写入过数据库了 flag = true; } }// System.out.println("当前微信用户信息是否存入过数据库:"+flag); if (flag) {//绑定过 try { HttpSession session = req.getSession(); user = userService.getUserByOpenId(openId);//NullPointerException?数据库的openId没给值,所以查不到user session.setAttribute(Const.SESSION_USER, user); resp.sendRedirect(WeiXinUtil.DOMAIN+"/New_OPC_2/wxindex.html"); } catch (IOException e) { e.printStackTrace(); } } else {//没绑定过,当前微信为新用户,创建一个没有任何权限的新账号 try {//创建新用户(默认用户和密码,父用户Id为系统管理员28) HttpSession session = req.getSession(); User newUser = new User(); newUser.setLoginname(openId.substring(5, 14)); newUser.setPassword("123456"); newUser.setParentId(28); newUser.setOpenId(openId); //创建新用户,将信息插入到数据库中(此方法在userService的实现类在此地运行报空指针,所以使用userMapper) userService.insertUser(newUser); newUser=userService.getUserByOpenId(openId); session.setAttribute(Const.SESSION_USER,newUser ); resp.sendRedirect(WeiXinUtil.DOMAIN+"/New_OPC_2/wxindex.html"); } catch (IOException e) { e.printStackTrace(); } } }
2.注意事项
- 新微信用户,登陆后,会在首页接收到提示信息”没有访问权限!”。
- 如果需要让微信新用户拥有一定的访问权限,就需要管理员在用户管理界面,设置相应的权限。
阅读全文
0 0
- 微信用户授权流程+代码
- 微信授权登录流程
- 微信网页授权流程
- 微信第三方平台授权流程
- 微信网页授权流程总结
- 微信网页授权开发流程
- 微信授权流程技术说明
- 微信第三方平台授权流程
- 微信网页授权获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信授权php获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信授权获取用户列表
- 微信开发获取用户授权方式
- 微信授权获取用户的openid
- 微信网页授权获取用户基本信息
- 微信授权php获取用户基本信息
- 职场小白
- 物联网应用案例:镇海智慧水务
- 颜色反卷积算法分析(Colour Deconvolution )
- 在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads
- Django的django-admin工具详解
- 微信用户授权流程+代码
- spring+mvc get请求,post请求编码问题(utf-8)
- plsql登录进去的时候,有个弹窗,但是我勾选了,下次不再显示,但是我又想让他弹出了,怎么恢复?
- 程序员高逼格指南
- 解决64位系统IIS网站发布出现未能加载文件或程序集“...”或它的某一个依赖项。试图加载
- 858D Polycarp's phone book 字典树
- uva 10972 添加几条变使得无向图为双联通分量
- eclipse 编写mapreduce程序(wordCount)
- 2^N-2的N次方