问题描述
最近上级安排了一个任务,网站后台做一个类似网银动态密码卡的东西,登录时输入用户名,静态密码和动态密码实现登录,提示了下是用Radius做的,这一块儿网上实用的资源有限,我现在无从下手,有没有哪位朋友对这方面有多少认识的,有相关案例提供的?本人不甚感激!
解决方案
本帖最后由 ltw2628 于 2013-08-06 14:22:11 编辑
解决方案二:
是我理解能力不够吗...感觉需求没有描述清楚--
解决方案三:
引用1楼kittaaron的回复:
是我理解能力不够吗...感觉需求没有描述清楚--
不好意思,可能是我没描述清楚我的需求是,根据Radius实现网站后台的动态密码登录
解决方案四:
像CSDN这样的加载某个帖子的时候对应回复每个楼层的用户名和用户的头像是不是根据存在帖子信息中的userID到用户信息表里查吗?哪样用户多的话表大是一方面而且根据userID的话要每层楼都去查一遍啊。不知道怎么设计的。谁能指点迷津?
解决方案五:
引用3楼Etoak_james的回复:
像CSDN这样的加载某个帖子的时候对应回复每个楼层的用户名和用户的头像是不是根据存在帖子信息中的userID到用户信息表里查吗?哪样用户多的话表大是一方面而且根据userID的话要每层楼都去查一遍啊。不知道怎么设计的。谁能指点迷津?
你怎么在我的帖子上提问啊我还以为你在回答我的问题呢
解决方案六:
引用2楼ltw2628的回复:
Quote: 引用1楼kittaaron的回复:
是我理解能力不够吗...感觉需求没有描述清楚--不好意思,可能是我没描述清楚我的需求是,根据Radius实现网站后台的动态密码登录
我是想知道你说的动态密码是怎么回事,Redis不应该是重点,你可以用Redis做就肯定也可以用别的东西做
解决方案七:
引用5楼kittaaron的回复:
Quote: 引用2楼ltw2628的回复:
Quote: 引用1楼kittaaron的回复:
是我理解能力不够吗...感觉需求没有描述清楚--不好意思,可能是我没描述清楚我的需求是,根据Radius实现网站后台的动态密码登录
我是想知道你说的动态密码是怎么回事,Redis不应该是重点,你可以用Redis做就肯定也可以用别的东西做
这个动态密码就有点像网银的密保卡或者U盾一样,里面的数字一分钟变动一次,你把动态密码填进去后,它会到服务器上校验,输入的动态密码是不是和刚才生成的密码保持一致,如果是一致,则允许允许登录,如果不一致就不允许登录
解决方案八:
引用4楼ltw2628的回复:
Quote: 引用3楼Etoak_james的回复:
像CSDN这样的加载某个帖子的时候对应回复每个楼层的用户名和用户的头像是不是根据存在帖子信息中的userID到用户信息表里查吗?哪样用户多的话表大是一方面而且根据userID的话要每层楼都去查一遍啊。不知道怎么设计的。谁能指点迷津?你怎么在我的帖子上提问啊我还以为你在回答我的问题呢
引用4楼ltw2628的回复:
Quote: 引用3楼Etoak_james的回复:
像CSDN这样的加载某个帖子的时候对应回复每个楼层的用户名和用户的头像是不是根据存在帖子信息中的userID到用户信息表里查吗?哪样用户多的话表大是一方面而且根据userID的话要每层楼都去查一遍啊。不知道怎么设计的。谁能指点迷津?你怎么在我的帖子上提问啊我还以为你在回答我的问题呢
你这问题简单了去了,就是根据用户ID和当前时间计算出一个值,再输入的时候获取服务器计算出的值进行比对就OK了。
解决方案九:
引用7楼Etoak_james的回复:
Quote: 引用4楼ltw2628的回复:
Quote: 引用3楼Etoak_james的回复:
像CSDN这样的加载某个帖子的时候对应回复每个楼层的用户名和用户的头像是不是根据存在帖子信息中的userID到用户信息表里查吗?哪样用户多的话表大是一方面而且根据userID的话要每层楼都去查一遍啊。不知道怎么设计的。谁能指点迷津?你怎么在我的帖子上提问啊我还以为你在回答我的问题呢
引用4楼ltw2628的回复:
Quote: 引用3楼Etoak_james的回复:
像CSDN这样的加载某个帖子的时候对应回复每个楼层的用户名和用户的头像是不是根据存在帖子信息中的userID到用户信息表里查吗?哪样用户多的话表大是一方面而且根据userID的话要每层楼都去查一遍啊。不知道怎么设计的。谁能指点迷津?你怎么在我的帖子上提问啊我还以为你在回答我的问题呢
你这问题简单了去了,就是根据用户ID和当前时间计算出一个值,再输入的时候获取服务器计算出的值进行比对就OK了。
这个问题简单化后就是这样的思路但实际上是要用Radius认证来实现,没你想象的这么简单tomcat上得装Radius服务器作为RadiusServer端自己的应用程序是client
解决方案十:
好像明白楼主的意思了!其实说简单一点,就是每次登录的时候发一个类似验证码的东西到客户端,服务器验证的时候不止要验证密码还要检查验证码!服务器用redis的作用就是让这个‘验证码’在多久之后过期(比如一分钟?),再下次登录的时候这个验证码就不同了!你的上级说用redis应该就是它本身带有管理key有效时间的机制!
解决方案十一:
引用9楼kittaaron的回复:
好像明白楼主的意思了!其实说简单一点,就是每次登录的时候发一个类似验证码的东西到客户端,服务器验证的时候不止要验证密码还要检查验证码!服务器用redis的作用就是让这个‘验证码’在多久之后过期(比如一分钟?),再下次登录的时候这个验证码就不同了!你的上级说用redis应该就是它本身带有管理key有效时间的机制!
对,您是没有玩过网银吧,不然的话看到我的标题应该很容易想到的呵呵介个问题,该怎么解决呢我在网上找到的资料,是得再安装一个Radius服务器问了几个同事,貌似他们也不知道这个东西老大让我百度,google,因为没有现成的东西可以利用今天第二天了,还没有什么收获,着急啊
解决方案十二:
1.在你的服务器上装redis,在你的服务器端代码(用TOMCAT应该是用JAVA写的)库引入一个实现了redis客户端的库。2.在用户打开你的登录页时,服务器应该已经有一个sessionid了!生成你说的动态口令,把这个sessionid当key,动态口令当值,写到redius中,超时时间1分钟。3.把2生成的动态口令写到客户端页面让用户能看见!4.用户填用户名密码+口令提交,服务器收到之后验证!5.上面是不是你要的过程?6.我没有用过redis,上面的过程是假想出来的!7.我用了10来年的网银,没有输过神马动态密码!
解决方案十三:
引用11楼kittaaron的回复:
1.在你的服务器上装redis,在你的服务器端代码(用TOMCAT应该是用JAVA写的)库引入一个实现了redis客户端的库。2.在用户打开你的登录页时,服务器应该已经有一个sessionid了!生成你说的动态口令,把这个sessionid当key,动态口令当值,写到redius中,超时时间1分钟。3.把2生成的动态口令写到客户端页面让用户能看见!4.用户填用户名密码+口令提交,服务器收到之后验证!5.上面是不是你要的过程?6.我没有用过redis,上面的过程是假想出来的!7.我用了10来年的网银,没有输过神马动态密码!
差不多是这样的,这个过程我知道,现在只是想得到具体实现细节,例如案例,Java代码这些东西,呵呵
解决方案十四:
可以参考一下海月通信公司提供的Radius动态密码认证解决方案:www.seamoon.com.cn
解决方案十五:
我做过这个www.seamoon.com.cn