-
2021-12-28 19:21:48
APP扫码登录流程(借鉴微信扫码登录流程,注意区分:WEB客户端和WEB服务端;APP客户端和APP服务端;)
1、【WEB端】WEB端请求登录二维码:用户打开WEB系统网页,用户触发浏览器向WEB服务器请求二维码(具有时效性),返回的二维码里面包含了随机字符串uuid及相关验证信息;(注意:返回二维码之前服务端会向redis中插入一条缓存记录,缓存key是一个随机字符串uuid,缓存value为空;)
2、【WEB端】WEB端根据uuid获取扫码登录状态信息:WEB端拿到二维码以后,每隔一秒请求一次WEB服务器获取登录状态和待登录用户的基本信息(如用户头像、昵称等);
3、【APP端】APP扫描二维码并获取登录确认信息:用户使用APP扫描二维码,APP将二维码解析结果中的相关验证信息和uuid等参数连同appToken一起发送给APP服务端进行验证,APP服务端验证成功后立即通知WEB服务端用户已扫码,通知成功后返回一个确认信息给APP客户端,APP收到响应后,将登录确认框显示给用户;
4、【APP端】用户确认或取消登录:用户在APP上点击“确认登录”按钮,发送请求到APP服务端。APP服务端拿到uuid和相关参数通知WEB端将用户的userId作为value值存入redis中以uuid作为key的键值对中。用户在APP上点击“取消登录”按钮,直接隐藏弹框;
5、【WEB端】WEB端根据uuid成功拿到扫码登录结果信息后,进入WEB系统相关页面(比如:首页):WEB端再次请求服务器的时候可以拿到登录令牌webToken,之后WEB端即可拿着webToken调用相应接口进行后续处理。
更多相关内容 -
手机app端扫描二维码登录web端的解决方法,前后端分离,uniapp,基于token
2021-05-15 16:55:351.首先使用uniapp编写一个简单可以扫码的安卓app,其中需要登录的操作与web端可以使用同一个登录接口,且在手机端登录成功后,必须将得到的token进行保存,如先使用uni.request发送登录,然后得到服务端发送来的...1.首先使用uniapp编写一个简单可以扫码的安卓app,其中需要登录的操作与web端可以使用同一个登录接口,且在手机端登录成功后,必须将得到的token进行保存,如先使用uni.request发送登录,然后得到服务端发送来的token,进行保存,可看一下:重要的是保存 token
login() { uni.request({ url: "xxx", method: "POST", data:this.loginForm, success: (res) => { console.log("登录成功!!!!!!") console.log(res) //还需要保存token信息 if (res.data.code === 200) { uni.showToast({ title: '登录成功', duration: 2000 }); uni.setStorageSync("account", this.account) uni.setStorageSync("token",res.header.Authorization) uni.redirectTo({ url: "../index/main_show" }); } else { uni.showToast({ title: '用户名或密码错误', icon: "loading", duration: 2000 }); } }, }) }
2. 使用 uni.scanCode 这个方法来扫描二维码,并解析到二维码中的内容,可看如下:
uni.scanCode({ success: function (res) { console.log('条码类型:' + res.scanType); console.log('条码内容:' + res.result); //其中蕴含网址链接 console.log("执行访问条码上的链接.....") //如这个 链接 :http://xxxx?id=xxxx uni.request({ url: res.result, method: "POST", success: (res) => { console.log(res.data) console.log("执行完条码链接又得到了 Id") //将得到的二维码携带的id进行保存 uni.setStorageSync("tokenId",res.data) this.tokenId = uni.getStorageSync("tokenId") //之后跳转到 确认登录页面,即确认是否登录 uni.redirectTo({ url: "../index/sure_login" }); }, }) // void plus.runtime.openWeb(res.result,function(){ // console.log("跳转操作") // }); } });
3.在 确认登录页面执行如下操作,其实就是 发送 数据,这里就是极其重要的地方了。
(1)发送 手机端得到的 token
(2) 发送 从二维码解析得到的 id
代码如下:在url里面携带了token与id,但 可以注意到 携带了 header,这里熟悉shiro认证的就可以知道,这里又将token放在header里面后,后端会自动的进行用户认证的操作,而这个操作也是必不可少的。
//确认登录操作,发送二维码的 tokenId,与登录的token sure_login(){ uni.request({ url: "xxxx/sure_userinfo?token="+this.token+"&tokenId="+this.tokenId, method: "POST", header:{'Authorization':this.token, }, success: (res) => { console.log(res.data) }, }) },
4.接下来就是后端的操作了,这里先简单讲一下,这个二维码登录的流程。
(1)首先web端,用户在未曾登录web端的情况,选择了二维码登录,而这个时候web端就从后端Fun1()方法获取了二维码,让用户选择使用自己系统的app即可上面的uniapp
(2)而与此同时web端在出现了二维码后,便会一直定时的向后端FunctionX()方法发送请求,毕竟它不知道用户是否到底扫描了二维码
(3)而这个时候用户 在手机端已经登录过了,手机端自然也已经保存了相关的数据如token,然后选择手机端上扫描二维码登录的按钮扫描二维码,且通过二维码上的链接发送请求到后端的方法Fun3(),然后后端Fun3()将 二维码上的 id信息 发送给 手机端,而自然的手机端也进行了保存该id信息
(4)当完成扫码后,手机端又跳转到确认登录页面,然后用户选择 确认登录,当选择确认登录后,手机端发送请求 将 token及二维码的id都发送给后端的另一个方法Fun4()方法,在该方法中,保存二维码id、token,给后端定义的全局变量 二维码 的idTwo ,token,这里还有一个原始的 二维码id全局变量 id。
(5)是否还记得,之前 header里面携带了 token,所以在这里自然也完成了认证,所以可以从 这里获取到用户的 id及username,当然只要有token其实也ok,看自己的需求了
(6) 之后 全局变量 二维码idTwo与 FunctionX() 方法中的原始的 id进行比较,若一样则可以开始完成登录了,向web端发送相关的token信息,web端接收到信息,完成页面跳转,至此ok。
5.后端方法:1.生成二维码给web端
@RequestMapping("/getqrcode") public ResponseEntity<byte[]> getQRcode() throws Exception { System.out.println("生成二维码数据........"); tokenId = IdUtil.fastSimpleUUID(); String text = "http://192.168.0.102:8080/ArchivesSystem/common-accessborrow/login_qrcode?tokenId="+tokenId; // 嵌入二维码的图片路径 String imgPath = "D:/QRCode/MY-logo.png"; // 生成的二维码的路径及名称 String destPath = "D:/QRCode/qrc-login.jpg"; //生成二维码 ProduceQRCode.encode(text, imgPath, destPath, true); File imgfile = new File(destPath); byte[] imgbyte = OpenOfficeUtil.fileToByteArray(imgfile); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.IMAGE_JPEG); ResponseEntity<byte[]> responseEntity = new ResponseEntity<byte[]>(imgbyte,headers,HttpStatus.OK); //将tokenId保存起来 // 解析二维码 String str = ProduceQRCode.decode(destPath); // 打印出解析出的内容 System.out.println(str); return responseEntity; }
2. 向后端不断发送请求的 FunctionX()方法,tokenIdTwo即手机端发来的哪个二维码id,而tokenId即是原始的二维码id
@RequestMapping("/login") public Result loginForQrCode(HttpServletResponse response) { System.out.println("我想要登录!"); //获取二维码 tokenId System.out.println("tokenId:" + tokenId); System.out.println("tokenIdTwo:" + tokenIdTwo); if(tokenIdTwo == null) { return Result.succ("nokey"); } if(tokenIdTwo.equals(tokenId)) { System.out.println("用户已经点击了确认登录,因tokenId值一样:tokenIdTwo: " + tokenIdTwo); System.out.println("tokenId: " + tokenId); System.out.println("userid: " + userid); System.out.println("username: " + username); response.setHeader("Authorization", shiroToken); response.setHeader("Access-Control-Expose-Headers","Authorization"); //登录成功,清除token tokenIdTwo = ""; tokenId = ""; return Result.succ(MapUtil.builder() .put("id",userid) .put("username",username) //将账户信息返回,还可以加其他信息 .put("msg","yes") .map() ); } else { return Result.fail("nokey"); } }
3.用户扫码的方法:
@RequestMapping("/login_qrcode") public String setInfo(String tokenId) { System.out.println("用户已扫码.........."); System.out.println("tokenId" + tokenId); //再将tokenId发送给手机端用户 return tokenId; }
4.客户端确认登录访问的方法:
@RequestMapping("/sure_userinfo") public Result sure_userinfo(String tokenId,String token) { System.out.println("确认登录,携带tokenId与认证的jwtToken......."); System.out.println(" qrcode tokenId:" + tokenId); System.out.println("shiro token: " + token ); //若不需要userid,username可不写 userprofile UserProfile userpro = (UserProfile) SecurityUtils.getSubject().getPrincipal(); tokenIdTwo = tokenId; shiroToken = token; //登录的token //将用户信息保存 userid = userpro.getUserId(); username = userpro.getUsername(); return Result.succ("ok"); }
_________________________________________________________
最后演示成果:
1.
2.
之后就ok了。
其中使用的web端 使用到的 轮番访问的方法如下:
//进入这个页面就开始登录的请求 getLoopLogin(timeout = 15000){ this.polling = window.setInterval(() => { setTimeout(this.qr_login(), 0); }, 3500); }, //获取二维码信息,每次点开就获取一次即可 getQRcode(){ this.$axios({ method:'GET', url:this.dbURL+'/common-accessborrow/getqrcode', //responseType: 'arraybuffer' responseType: 'blob' }).then(res=>{ console.log(res) let a = document.createElement('a'); let blob = new Blob([res.data],{ //type:'application/pdf' //也是必不可少的 type:res.data.type }); let objectUrl = window.URL.createObjectURL(blob); this.codeImg = objectUrl console.log(this.codeImg) }); }, //请求登录,看看是否登录 qr_login(){ console.log("请求第 :" + this.num + "次登录..."); this.num++; const _this = this this.$axios.post(this.dbURL+'/common-accessborrow/login').then(res=>{ console.log(res) if(res.data.data == "nokey") { //Element.Message.warning("nokey!",{duration : 3*1000}); //this.$router.push("/qrcode_login"); } else if(res.data.data.msg == "yes") { Element.Message.success("成功登录!",{duration : 3*1000}); const jwt = res.headers['authorization'] const userInfo = res.data.data _this.$store.commit("SET_TOKEN",jwt); //保存token信息 _this.$store.commit("SET_USERINFO",userInfo) const isexcute = 0 //0表示第一次执行 _this.$store.commit("SET_ISGETMENU",isexcute); this.$router.push("/") } }) }, }, created(){ //轮番访问 // window.setInterval(() => { // setTimeout(this.qr_login(), 0); // }, 5000); this.getQRcode(); this.getLoopLogin(); }, beforeRouteLeave(to,from,next){ next(); console.log("终止轮询!") if(this.polling){ clearInterval(this.polling); this.polling = null; } },
--------------------------------
补充一个时序图:
-
springboot实现web端微信扫码登录项目(基于微信开放平台)
2018-09-18 11:55:18springboot实现web端微信扫码登录项目(基于微信开放平台) -
一文搞懂web端登录过程
2021-05-22 11:06:09一文搞懂web端登录过程无状态HTTP协议session和cookiecookie(存放在客户的浏览器上)session (存放在服务器端)session的创建session和cookie的区别token登录过程token验证 在了解登陆过程的原理前,应该先弄清楚...一文搞懂web端登录过程
在了解登陆过程的原理前,应该先弄清楚几个概念无状态HTTP协议
协议就是两个计算机之间通讯需要遵守的规则,而HTTP协议是无状态的协议,当用户完成一次数据交互之后就会断开客户端和服务器之间的连接,无法进行数据跟踪。
用大白话来解释就是,比如说用户在网上把一个商品添加到购物车内,这就是一次数据交互,然后对话就会关闭,关闭之后你想第二次把商品添加到购物车内,服务器就找不到你应该添加到那个购物车内部了。这显然不是我们所需要的session和cookie
cookie(存放在客户的浏览器上)
首先明确一点:cookie是由服务器颁发保存在客户端浏览器上的,下一次请求时浏览器会把cookie和请求的网址同时发送给服务器
大白话解释就是:cookie是一把钥匙,服务器是个锁头,这把要是也是服务器交到客户端手里的,只有一下次需要的时候拿着这把钥匙过来开锁,我才能把数据给你
cookie的主要内容包括:用户id、密码,过期时间,路径和域
Cookie 主要用于以下三个方面:- 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
- 个性化设置(如用户自定义设置、主题等)
- 浏览器行为跟踪(如跟踪分析用户行为等)
session (存放在服务器端)
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。其实,在用户和服务器第一次建立连接的时候,服务器就会自动生成一个sessionID保存在服务器中。
在cookie中提到过,cookie是由服务器颁发的,在颁发cookie中的过程中会把sessionID也颁发过去,事实上这个sessionID才是那把打开服务器的钥匙。浏览器在发起请求的时候会自动的把sessionID放在HTTP请求头中
- session的创建
当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了sessionId,如果已包含则说明以前已经为此客户端创建过session,服务器就按照sessionId把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含sessionId,则为此客户端创建一个session并且生成一个与此session相关联的sessionId,sessionId的值是一个既不会重复,又不容易被找到规律以仿造的字符串,这个sessionId将被在本次响应中返回给客户端保存。
session和cookie的区别
session和cookie的区别:
- seesion保存在浏览器上,cookie保存在本地上
- 存储时间不同,cookie存储的时间比较长,session存储时间较短随着客户端关闭就消失了,
- 安全性不同,cookie是把账号密码存储在本地中,session是把信息存储在浏览器中,安全性session要远高于cookie
- 存储的大小不同,单个cookie文件最大不超过4K,session要远超过cookie
token
首次登录时,后端服务器判断用户账号密码正确之后,根据用户id、用户名、定义好的秘钥、过期时间生成 token ,返回给前端;token就是用户信息的钥匙,由后端服务器返回
登录过程
现如今登录过程一般可以分为两种,一种是通过token验证,另一种是通过session和cookie进行验证,现如今在前后端分离开发的过程中,基本都是使用token验证。在跨域的时候一般选择用token验证,不跨域的时候选择用session和cookie验证
本文将详细接受token验证token验证
客户端在登录页面属于用户名和密码进行登录发送给服务器,服务器验证通过之后会生成针对于改用户的唯一的token值,客户端需要存储这个token值,(这个token值是代表了用户的登录状态),以后客户端每一次的请求都要携带该token,客户端验证该token是否存在。因为token只应该在当前网站打开的时候生效,所以应该将sessionStroage中存储。思路大题如下
- 首次登录时,后端服务器判断用户账号密码正确之后,根据用户id、用户名、定义好的秘钥、过期时间生成 token ,返回给客户端浏览器;
- 前端拿到后端返回的 token ,存储在 localStorage 里;
- 前端每次路由跳转,判断 localStorage有无 token ,没有则跳转到登录页,有则请求获取用户信息,改变登录状态;
- 每次请求接口,在 Axios 请求头里携带 token;
- 后端接口判断请求头有无 token,没有或者 token 过期,返回401;
- 前端得到 401 状态码,重定向到登录页面。
//axios封装等这里就不在赘述,主要写上关键代码,res.data是从后端请求过来的数据 //把token值保存在sessionStorage中 window.sessionStorage.setItem("token",res.data.token); //axios请求拦截器,在请求数据的时候把token放在请求头中 axios.interceptors.request.use(config => { config.headers.Authorization = window.sessionStorage.getItem('token') return config })
-
web端调用大华摄像头demo及大华控件开发包编程指南文档
2020-11-07 20:00:09html页面调用大华摄像头,实现实时监控,以及回放、视频下载,云控制、视频窗口个数、预览、通道等并且是根据时间范围下载视频demo,并且附带了exe用于快速安装ocx控件 -
JAVA实现WEB端实现app扫码登录
2020-05-19 19:57:46网页端+服务器 接下来就是对于这个服务的详细实现。首先,大概说一下原理:用户打开网站的登录页面的时候,向浏览器的服务器发送获取登录二维码的请求。服务器收到请求后,随机生成一个uuid,将这个id作为key值存入...扫码登录:
我们经常用的一些app,如qq和淘宝,天猫等这一类的软件。而开发这些app的企业,都有他们相对应的网站。为了让用户在使用他们的网站时,登录更加方便和安全。企业提供了, 使用手机,扫一扫,就可以登录的服务。网页登录时的效果如下:
原理解释
网页端+服务器
接下来就是对于这个服务的详细实现。首先,大概说一下原理:用户打开网站的登录页面的时候,向浏览器的服务器发送获取登录二维码的请求。服务器收到请求后,随机生成一个uuid,将这个id作为key值存入redis服务器,同时设置一个过期时间,再过期后,用户登录二维码需要进行刷新重新获取。同时,将这个key值和本公司的验证字符串合在一起,通过二维码生成接口,生成一个二维码的图片(二维码生成,Zxing二维码生成java)然后,将二维码图片和uuid一起返回给用户浏览器。
浏览器拿到二维码和uuid后,会每隔一秒向浏览器发送一次,登录是否成功的请求。请求中携带有uuid作为当前页面的标识符。这里有的同学就会奇怪了,服务器只存了个uuid在redis中作为key值,怎么会有用户的id信息呢?
这里确实会有用户的id信息,这个id信息是由手机服务器存入redis中的。具体操作如下:
手机端+服务器
话说,浏览器拿到二维码后,将二维码展示到网页上,并给用户一个提示:请掏出您的手机,打开扫一扫进行登录。用户拿出手机扫描二维码,就可以得到一个验证信息和一个uuid(扫描二维码获取字符串的功能Zxing二维码,这里就不详细介绍了)。由于手机端已经进行过了登录,在访问手机端的服务器的时候,参数中都回携带一个用户的token,手机端服务器可以从中解析到用户的userId(这里从token中取值而不是手机端直接传userid是为了安全,直接传userid可能会被截获和修改,token是加密的,被修改的风险会小很多)。手机端将解析到的数据和用户token一起作为参数,向服务器发送验证登录请求(这里的服务器是手机服务器,手机端的服务器跟网页端服务器不是同一台服务器)。服务器收到请求后,首先对比参数中的验证信息,确定是否为用户登录请求接口。如果是,返回一个确认信息给手机端。
手机端收到返回后,将登录确认框显示给用户(防止用户误操作,同时使登录更加人性化)。用户确认是进行的登录操作后,手机再次发送请求。服务器拿到uuId和userId后,将用户的userid作为value值存入redis中以uuid作为key的键值对中。
登录成功
然后,浏览器再次发送请求的时候,浏览器端的服务器就可以得到一个用户Id,并调用登录的方法,声成一个浏览器端的token,再浏览器再次发送请求的时候,将用户信息返回给浏览器,登录成功。这里存储用户id而不是直接存储用户信息是因为,手机端的用户信息,不一定是和浏览器端的用户信息完全一致。
有问题欢迎留言~
-
基于jquery的web端登录界面前端
2019-02-20 14:29:23用jquery手写的web登录界面前端代码,欢迎讨论相互学习。 -
海康威视摄像头web端显示方案(Nginx环境测试)
2022-02-07 20:39:43海康威视摄像头web端显示方案(Nginx环境测试) -
使用微信小程序扫码登录系统PC端web的功能
2020-09-12 20:54:171)因为可以直接登录微信小程序,所以可以在小程序中重置密码,这样就可以在PC端登录了,这比较简单。 2)使用微信开放平台第三方网站oauth2授权登录,这也是可以实现的,不过要申请微信网站应用,有点麻烦。 3)... -
web端连接大华摄像头demo
2019-09-16 16:01:55本demo仅实现了在web端登录大华摄像头、实时监控、录像、云台控制,不包含回放等功能,请根据自己的需求谨慎下载,避免浪费积分或c币。 注意:请使用IE浏览器,并且允许运行ActiveX 控件。 -
海康威视web端最新的demo
2018-04-13 17:51:52WebComponentsKit.exe 海康威视web组件,WebComponentsKit.exe -
用Python实现web端用户登录和注册功能的教程
2020-09-22 03:22:32主要介绍了用Python实现web端用户登录和注册功能的教程,需要的朋友可以参考下 -
通过opencv实现的人脸识别web端
2019-08-12 05:41:36通过opencv实现的人脸识别web端 -
Kali之——安装OpenVAS后找不到默认密码无法登录Web端解决方案
2019-01-20 15:26:33这个问题其实是极其简单的,如果不小心忘记了OpenVAS的Web登录密码或者没有找到OpenVAS安装过程中输出的默认密码,则通过如下的命令修改OpenVAS的Web登录密码: openvasmd --create-user --help openvasmd ... -
web端购物车实现包括注册登录
2018-10-25 20:08:17注册页面有验证码实现,登录页面也有,jsp购物车web端实现, -
利用Signalr实现手机端App扫码登录web页面
2019-04-16 17:40:131、web登录页面,利用jquery.qrcode展示一个随机生成的登录码的二维码; 2、手机App扫描二维码取得登录码; 3、手机App将本地用户id+登录码通过api提交服务器; 4、服务器api,收到手机App请求,根据用户id+登录... -
开发调用海康威视摄像头的web端页面
2018-05-22 09:21:37点击webComponents.exe安装 注意版本号和 32位 64位(这里跟正一下 木有64位尴尬尴尬) 如果没有合适的 请去官网下载 第二步:将文件夹中 demo.js demo.css webVideoCtrl.js 这3个文件导入你的项目,还... -
Web端 前后端分离 - 微信扫码登录方法的实现
2020-10-22 15:13:46前言: 关于这个微信扫码登录,在做这个功能的时候主要是在... A: 在实现Web端微信扫码登录,首先需要在微信开发者平台中获取对应的Web应用的 AppID 和 AppScert 微信开放平台 :https://open.weixin.qq.com/ ... -
cpp-Linux下的简易web服务器实现web端用户注册登录功能
2019-08-16 02:28:11Linux下的简易web服务器,实现web端用户注册,登录功能,经压力测试可以实现上万的并发连接数据交换. -
用Python实现web端用户登录和注册功能
2021-02-12 09:21:36这篇文章主要介绍了用Python实现web端用户登录和注册功能的教程,需要的朋友可以参考下用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。用户注册相对简单,我们可以先通过API把用户注册这... -
通过Android客户端访问web服务器,实现一个登录功能,服务端+数据库+安卓端
2017-11-09 17:55:19实现的功能:通过Android客户端访问web服务器,实现一个登录功能,判断用户输入的用户名与密码是否与数据库的一致。 使用技术:服务端:Struts2+javabean+servlet(struts2的) 客户端:Android 4.0.2 数据库:MySQL... -
扫码登录的简单实现-Web端
2019-10-08 12:09:37扫码登录成功后自动切换。 一、需要用到的库 本实例使用vue,二维码生成使用jquery-qrcode.js 二、index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> ... -
为什么Web端登录需要验证码?
2022-04-21 16:18:07很多朋友们对于登录必然遇到的验证码这个事情很不理解,增加用户操作的冗余性,直接登录很方便,为什么web端登录要添加个验证码?直到上周,一家做业务安全的公司给出我们现在Web网站的安全报告,我才意识到:验证码... -
web端和安卓端链接的实现
2015-08-12 20:50:21web端和安卓端相连接,使用户在web端注册的账号能在Android端登录,方便快捷 -
web端通过企业微信进行登录(获取员工信息)
2021-09-08 11:29:04使用小程序的时候直接用 wx.qy.login就能获取到code,用来向后端请求员工数据(详情请看另一篇文章:微信小程序关联企业微信的自建应用后,静默登录)。然而,网页端是不能直接调用wx.qy.login这些API接口的,需要... -
Web端测试方法
2020-05-11 14:16:27web端通用测试点请移步 1. Web 测试的总体策略 2. Web 测试的范围 √ 功能 √ 性能 √ 界面 √ 兼容性 √ 安全性 √ DB √ 文档 2.1 功能测试 ☆ 功能测试主要从链接、表单、Cookies、设计语言、数据库、文件上传等... -
VMWare vSphere Esxi 6.7 u3 console台能登录,当时web无法登录的情况
2021-02-25 20:03:30过了半天后再去通过web登录,就发现无法连接。一开始以为是密码输错,多次尝试无效后,去了现场登录发现你可登录。一开始以为是web输错次数过多,于是第二天尝试登录,仍然失败。到现场通过DCUI登录,还是成功。此时... -
如何限制电脑PC端访问Web页面只能手机端才能访问
2017-04-21 11:02:03这个是我开发中用到的,就引用了,喜欢的拿走 -
开发笔记 - 客户端-Web端同步登录
2015-12-05 09:41:52前言:我们在做客户端开发,有时候难免需要加载网页,这时候就会涉及...没错,你在客户端已经登录了,但是web端(即网页)和客户端使用的是两种不一样的登录机制。所以我们需要告诉网页,我在客户端已经登录了。 我之前 -
关于Facebook Web端第三方登录
2019-05-28 11:15:571.集成并测试facebook1.注册开发者账号2.创建应用2.代码块3.测试结果 1.注册开发者账号 登陆facebook开发者平台 ... 2.创建应用 如图: ...我们是做PC端的第三方登录,所以选择的是facebook登录。 按照对应的,一...