token的作用与实现原理?

发布于 2021-12-01 08:02:51 字数 141 浏览 884 评论 11

@JFinal 你好,想跟你请教个问题:能详细说明一下,token的作用与实现原理吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

空城仅有旧梦在 2021-12-03 21:02:04


@jFinal   我在java中使用jFinal封装好的token,可以么?框架是spring mvc + mybatis,没用jFinal的web框架

后知后觉 2021-12-03 21:02:01

jfinal 全封装好了,使用即可

霞映澄塘 2021-12-03 21:01:57

回复
@JFinal : 嗯,多谢解答。可否提供下jFinal中的token关联url,方便我查看。再次感谢

梦中楼上月下 2021-12-03 21:01:48

看到各位大神的评论记录,受益匪浅。

作为一个刚入门token的新手,想了解一些基础概念。

token是按照@jFinal 所说的实现流程没有错。

但token是只提供这样的概念吗?具体实现,还是由开发者去自定义么?还是说目前已经有token的开发包封装好了,直接调用即可?

一个人的旅程 2021-12-03 21:01:10

引用来自“Sdanfy”的评论

神经病哦,,ajax提交了,然后为了以后可以继续编辑,不跳转页面,也就是可以继续提交,这能叫不让重复提交么?这样的业务是让重复提交的,只不过用户可能存在不改动数据也一直提交提交提交,这只是对数据在前端和后端做一个校验而已,如果想增加那么点性能的话,那么这也就超出了Token的范畴,不关Token鸟事了。如果非要做一个Token来控制重复提交的问题,基于JFinal所说的补充一个注意点:就是在验证后清空Token,之后的Token还是做了对比操作?那么如何去清空Token?直接用session.setAttribute("token",null)?那么问题来了,我在前端直接把保存token的隐藏域给删掉或者把name改一改,提交到后台后。前端保存的token也是null,那么如果对比的话,那后端就认为还是第一次提交,然后又执行了业务。所以后端对比的时候,要先判断后端取的token是否为null,然后再判断是否一致。也就是if(session中的Token!=null && session的Token.equals(请求中的Token)){//说明是第一次提交}。感谢JFinal的分享以及SkipperD的投入思考。

回忆凄美了谁 2021-12-03 21:00:51

互联网本身是不安全的,不能确定浏览器一定就能收到Ajax返回值,所以,Token防重复提交是非常必要的。。。

风苍溪 2021-12-03 20:59:03

神经病哦,,ajax提交了,然后为了以后可以继续编辑,不跳转页面,也就是可以继续提交,这能叫不让重复提交么?这样的业务是让重复提交的,只不过用户可能存在不改动数据也一直提交提交提交,这只是对数据在前端和后端做一个校验而已,如果想增加那么点性能的话,那么这也就超出了Token的范畴,不关Token鸟事了。如果非要做一个Token来控制重复提交的问题,基于JFinal所说的补充一个注意点:就是在验证后清空Token,之后的Token还是做了对比操作?那么如何去清空Token?直接用session.setAttribute("token",null)?那么问题来了,我在前端直接把保存token的隐藏域给删掉或者把name改一改,提交到后台后。前端保存的token也是null,那么如果对比的话,那后端就认为还是第一次提交,然后又执行了业务。所以后端对比的时候,要先判断后端取的token是否为null,然后再判断是否一致。也就是if(session中的Token!=null && session的Token.equals(请求中的Token)){//说明是第一次提交}。感谢JFinal的分享以及SkipperD的投入思考。

吃颗糖壮壮胆 2021-12-03 20:40:57

"修改表单时触发一个 ajax 请求后端再次createToken()并将创建好的 token 值带回来替换掉表单中老的 token 值"......... 如果后台修改了数据,在返回时候丢失了呢?前端就接收不到新的token,这样之后(网络又正常了)点击按钮都一直会提示"请勿重复提交"了吧?(除非刷新了界面才会正常了)

左岸枫 2021-12-03 16:29:33

非常感谢您的回答,同样的疑问。

柳若烟 2021-12-02 19:58:23

非常感谢,波总的回答。同样的疑问如果是ajax提交的话,第二次提交,也会被认为是重复提交如何处理。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文