实现所谓的无状态,使用Cookie认证的话,不用session岂不是每次都要重新认证查一下数据库?
我的具体实现是
定义 一个秘钥 key="随机";
user_profile表 里面放一个字段 token 用户注册的时候,分配一个随机值
用户登录的时候,
`String userToken= md5(用户id+token+key);
response.addCookie("user_id",用户id);
response.addCookie("user_token",userToken);`
然后定义一个登录拦截器
`String userId = request.getCookie("user_id");
String userToken= request.getCookie("user_token");
String token=db.getUserTokenById(userId); //这里每次都要查询一下数据库
String userToken2= md5(用户id+token+key);
if(userToken.equals(userToken2){
//登录成功
} else{
}
`
这次方式虽然简单,但是还是能够有效防止伪造cookie的
但是这里每次都要查询一下数据库,有没有更好的实现方式
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。