我一定以某种方式错过了这个......
在我的app用户" x"拥有帖子1,4,8。他应该只能查看/编辑这些帖子。
如果我在浏览器中打开localhost:9000/post/1
,我希望它能够编辑具有编辑功能的详细信息。
当我打开localhost:9000/post/99
时 - 他应该无法查看或编辑此帖子。我如何在Play Framework中限制它?
我知道@Check这个概念,但这是正确的方法吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
无论哪种方式,您都需要点击数据库以查看是否允许用户查看帖子。
您可以将此代码放在该控制器的@Before拦截器中或拉出Post记录的相关show方法中 - 如果未经授权,请调用forbidden()方法。
答案 2 :(得分:0)
最简单的方法是在会话中存储已连接用户的ID,当您在数据库中找到帖子时,您可以按帖子ID和用户ID搜索,而不仅仅是发布ID。这样您就无法找到适合您用户的帖子。