链接隐藏的ID

时间:2014-11-26 15:47:07

标签: java mysql hibernate spring-mvc

我正在使用Java,SpringMVC,Hibernate和MySql。

我有一个问题。在数据库中我有用户实体。有些用户有角色Admin。 如果用户具有角色管理员,则可以创建项目旅行,例如"前往非洲"并且可以加入另一个人。

当具有管理员角色的用户登录系统时,在第一个站点中,他会看到由他创建的项目。他可以点击任何项目。对于考试"去非洲"。然后他加入了朋友列表。 但。 链接到特定项目如下:

   <a href="managementProject?idProject=${id_project}">ProjectXX</a>

并且在控制器中我有@RequestParam("idProject")

但它确实是愚蠢的解决方案,因为URL看起来像: localhost:2233/managementProject?idSchool=5

如果我在URL中更改idSchool param,我可以访问某个项目。 我不知道如何发送这个值Post方法(因为这是元素,而不是形式)

所以我写了一个方法来检查idProject是否与登录的人创建的项目一致:

private boolean checkAuth(int idProject,User user){
            List<Project> projectList = new ArrayList<Project>(user.getProjectsAdministrators());

            for(Project project:projectList){
                if (project.getId_project()==idProject){
                    return true;
                }
            }
            return false;
    }

如果为true,则用户可以将人员添加到项目中。如果为false,则modelAndView返回403页面(类似于&#34;您没有权限&#34; 但我不知道这不是真正好的解决方案。也许有人有更好的? 抱歉我的英文。

谢谢!

0 个答案:

没有答案