管理员可以从数据库中删除任何用户

时间:2013-09-24 13:08:08

标签: java spring spring-mvc spring-security

我有一个简单的小应用程序,涉及管理员能够从数据库更新和删除信息或个人用户。基本上,到目前为止,管理员可以在页面上以表格格式查看当前注册的所有用户。我需要知道如何根据每行中的用户删除或更新用户信息,因此假设基于他们的实际用户ID。到目前为止,我已经能够从数据库中提取所有用户并将它们放入表中,并使用JSTL填写必要的表值(用户名,电子邮件等等)。 我不知道,这样做的正确过程,并不知道如何编码控制器来处理这个特定的任务。到目前为止,我的控制器是这样的:

@RequestMapping("/deleteUser")
public String deleteUser(@RequestParam(value = "id", required= false) Integer id) {

    usersService.delete(id);
    return "users";

}

请求映射来自表中的按钮,并且“返回用户”;只返回到显示所有用户的同一个jsp页面。这是一个小小的错误,我想知道实现此功能的正确和最佳方式。

1 个答案:

答案 0 :(得分:0)

使用Principal检查用户权限。

   @RequestMapping("/deleteUser")
    public String deleteUser(@RequestParam(value = "id", required= false, Principal princiapl) Integer id) {
    // Check if user has admin authority using principal.getAuthorities();
    }

您还可以使用@Secured(“ROLE_ADMIN”)注释并将方法锁定为admin角色。

相关问题