我使用spring-mvc开发了一个简单的网站。问题是什么是保护网址的最佳方法? 例如,我有用户和笔记。用户只能编辑/删除他们自己的笔记。 用户编辑带有链接的注释为localhost / note / edit / 1
但我不希望其他用户只更改id参数并查看其他注释。
在这些情况下你如何保护网址?
答案 0 :(得分:2)
然后,您需要在编辑页面的开头检查登录人员的用户ID是否与数据所有者的用户ID匹配。
答案 1 :(得分:1)
由于您使用的是Spring,并且您希望根据用户ID做出授权决定,因此应该阅读Spring Access Control。
要使用表达式来保护单个URL,首先需要将元素中的use-expressions属性设置为true。然后,Spring Security将期望元素的访问属性包含Spring EL表达式。表达式应该计算为布尔值,定义是否允许访问。
但是还有很多其他方法可以处理授权。不要养成假设用户ID是做出这些决定的最佳方式的习惯。阅读"From ABAC to ZBAC"以了解替代方案。