首页 新闻 会员 周边 捐助

web api 做发送短信验证码并且验证验证码解决方案

0
悬赏园豆:50 [已解决问题] 解决于 2015-11-20 10:27

用asp.net  web api 做发送验证码 和验证短信验证码的服务,供手机APP调用,

原来打算用session 来做,后来发现session是可以保存每次请求的验证码和时间,但是下一次app调用接口的时候并取不到这个session 的值来判断,因为web api 没有状态,每次手机app请求 都是创建一个新的session,获取不到以前的session,求大神解决方案。。。。。。。。asp.net web api 如何对发出的验证码进行验证 ??

绝恋天下的主页 绝恋天下 | 初学一级 | 园豆:73
提问于:2015-11-18 12:57
< >
分享
最佳答案
1

有一种东西叫缓存!缓存!缓存! 重要的事要说3遍!!

收获园豆:20
丫的 | 小虾三级 |园豆:1575 | 2015-11-18 15:11
其他回答(5)
1

这个可以建一个数据表来做,比如表结构如下:

Id:自增

Account:手机号或者邮箱

Code:验证码

Expires:过期时间

State:状态(是否使用)

收获园豆:20
CodeHsu | 园豆:5668 (大侠五级) | 2015-11-18 13:23

验证码还要用数据库吗?有没不需要用数据库的解决方案?

支持(0) 反对(0) 绝恋天下 | 园豆:73 (初学一级) | 2015-11-18 13:36
0

验证信息一定要持久化。你需要的验证短信发送接口

收获园豆:10
吴瑞祥 | 园豆:29449 (高人七级) | 2015-11-18 14:34

我明白,关键是web api 提供了session的支持,但是 当我验证的时候却取不到值,现在的问题就是验证接口取不到session 的值

支持(0) 反对(0) 绝恋天下 | 园豆:73 (初学一级) | 2015-11-18 14:37

@绝恋天下: WebAPi默认关闭了Session,你要使用Session你得去手动启动它。

支持(1) 反对(0) Jeffcky | 园豆:2789 (老鸟四级) | 2015-11-21 20:03
0

感觉用Memcached,Reids这些都可以啊,
反正一个验证码有效期也有最多10分钟吧,
你把缓存有效期10分钟就可以了
验证就直接和缓存里比较了

Giant150 | 园豆:1172 (小虾三级) | 2015-11-20 11:40
0

卡洛思短信验证码 路过

卡洛思短信平台 | 园豆:216 (菜鸟二级) | 2016-03-18 17:09
0

请问楼主最后怎么完成的?我也是有一个action生成验证码,如果用session["code"]=1234保存的话,然后登陆的另一个acion,登陆action里是获取session["code"]是null的~

小强菜菜 | 园豆:204 (菜鸟二级) | 2020-01-15 09:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册