采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为登入状态下修改密码,为什么需要token, 我感觉可有可无啊
如果不加token,是不是你只要拿到了修改密码的接口就可以随意修改任何用户的密码呢
在checkAnswer中回答问题正确存入一个token,修改密码的接口去验证传入的token和本身获取的token是否相同来判断是否是同一个用户
我不明白,他又不知道我的问题和密码,他拿什么修改我的密码呢?一个接口就能修改任何用户的密码?
http://coding.imooc.com/learn/questiondetail/16637.html 同学看看这个。
if(org.apache.commons.lang3.StringUtils.equals(forgetToken,token)){ String md5Password = MD5Util.MD5EncodeUtf8(passwordNew); int rowCount = userMapper.updatePasswordByUsername(username,md5Password); if(rowCount > 0){ return ServerResponse.createBySuccessMessage("修改密码成功"); } }else{ return ServerResponse.createByErrorMessage("token错误,请重新获取重置密码的token"); } <update id="updatePasswordByUsername" parameterType="map"> update mmall_user SET password = #{passwordNew},update_time = now() where username = #{username} </update> 如果你把有关token的代码都去掉,sql语句中,你只要知道用户名就可以修改密码,压根就不需要知道你的密码和问题
登录状态下修改密码,不需要token吧。 只有未登录时,才需要token
登录后可查看更多问答,登录/注册
前后端分离,数据库接口设计,架构设计,功能开发,上线运维
10.4k 10
1.9k 22
1.5k 21
2.3k 21
2.1k 18