猿问

关于网页 登录记住我!

小弟做登录模块 有一事想请教!

在登录的时候 实现记住我的功能 看了很多文章都是

在客户端生成一个用户标识的Cookie!

那么这个Cookie 我可以只生成一个 用户名吗? 因为我感觉把密码也生成到浏览器非常不安全! 看了很多文章都是把用户名和密码生成到客户端!

但是我反编译了Identity框架 发现MVC自带的权限系统也并没有把密码生成到客户端!

还望大神给点意见!

白板的微信
浏览 505回答 13
13回答

MMTTMM

密码是绝对不允许放到客户端的,你想下这玩意你放客户端,我要是有点闲功夫,自己走个流程,我知道明文密文,往死了推也可以推断出你加密策略。而且如果你更改了密码验证策略,那么你让那些使用老密码策略的用户怎么办? 如果你要做这种功能,建议在登录的时候返回一个唯一的token,类似sessionid,同时记录用户的ip等信息供下次直接登录验证用。

FFIVE

密码加密就行了

梦里花落0921

Session可以么?……

慕码人8056858

通常都是把用户名加密保存到客户端,没见过把密码保存在客户端的。

慕少森

 那下次登录判断就直接判断用户名为不为空就行了?

汪汪一只猫

可以通过 Request.IsAuthenticated 或者 User.Identity.IsAuthenticated 判断用户是否登录

PIPIONE

加密!

一只名叫tom的猫

用token来识别。数据加一张token表,用户登录后如果是记住密码的话,自动生成token存入,token与用户信息(用户ID,登录的浏览器useragent)关联并记录失效日期,然后在浏览器cookie里面放token和用户名和当前你给的唯一客户端识别。下次登录页面自己查看cookie里面的信息,有token等信息就去对比判断。然后自动登录。

德玛西亚99

用户名加密保存在客户端

MM们

那下次登录判断就直接判断用户名为不为空就行了?
随时随地看视频慕课网APP
我要回答