【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
这几天我用maven+spring搭建了一个RESTful的后台,现在写了一个Android的app去访问后台。在app中的登录界面里有一个验证码,现在我可以拿到服务端产生的验证码图片,但是输入对应的验证码并提交到后台,在后台却找不到已经保存的验证码字符串了。我想问:
1. 因为拿验证码图片和登录是两个请求,当用户还没有登录的时候,我怎么知道刚刚产生的验证码是这个用户的?后台产生的验证码字符串应该保存到哪里?
2. 对于验证码,我从后台返回给客户端的是byte数组,再在客户端将这个数组转换成图片并显示出来,你们一般都怎么返回图片给客户端的?
3. Mobile用户只需要登录一次直到session过期,如何维护一个Mobile用户的session?
4. 可以使用哪些方式来实现Android客户端与服务器交互?除了RESTful的service,你们常用的还有其他哪些方式呢?
请各路大神指点小弟啊,先谢谢啦
1. 因为拿验证码图片和登录是两个请求,当用户还没有登录的时候,我怎么知道刚刚产生的验证码是这个用户的?后台产生的验证码字符串应该保存到哪里?
登录页中客户端生成一个随机字符串提交给服务器,服务器端生成验证码绑定到随机串上,提交验证码时同时提交这个串,服务器就可以判断了。验证码随便存吧,不过没有太大用处的话,可以放缓存或者内存表提高性能。
2. 对于验证码,我从后台返回给客户端的是byte数组,再在客户端将这个数组转换成图片并显示出来,你们一般都怎么返回图片给客户端的?
都可以,返回一个url客户端再下载也可以。
3. Mobile用户只需要登录一次直到session过期,如何维护一个Mobile用户的session?
登录后发个token,每次请求带上,token有过期时间
4. 可以使用哪些方式来实现Android客户端与服务器交互?除了RESTful的service,你们常用的还有其他哪些方式呢?
模拟浏览器、保存、提交cookies,这样就跟使用网站一样了
oauth认证
1.每个访问都是一个session,session之间不会干扰,传过去的图片只会是前连接用
2.生成图片,然后输入