j2ee - 具有多个安全角色的用户

时间:2015-08-19 16:16:19

标签: java-ee user-roles

我正在开发一个Java Servlets webapp,它将使用基于容器的安全性对用户进行身份验证。现在我的问题是用户可以映射到多个安全角色吗?

例如在我的情况下 - :

用户可以是

  • 教师
  • 协调员(也可以是教师)
  • 管理员(也可以是教师)

现在显然,管理员将拥有访问比教师更多功能的权限。那么对于像Tomcat这样的容器,只有基于容器的安全性怎么可能呢?

我也没有使用像Spring Security或Apache Shiro这样的任何框架。

1 个答案:

答案 0 :(得分:1)

简而言之 - 用户甚至更好的群组 - 可以映射到许多安全角色。 最简单的方法是在web.xml中定义安全角色,如下所示:

  <security-role>
    <role-name>teacher</role-name>
  </security-role>
  ....

然后在<security-constraint>中使用它,您可以在其中指定哪个角色可以访问给定资源集。

最后,您需要将这些角色映射到用户,这是特定于服务器的。

您可以在“保护Web应用程序章节”中的WebSphere Application Server V7.0 Security Guide中找到有关安全角色和约束的一些基本信息。

我建议使用WebSphere Liberty和Eclipse与WebSphere Developer Tools,而不是使用Tomcat。它具有很好的图形界面,可用于编辑web.xml,因此您可以轻松定义这些角色和约束。它还有服务器配置编辑器,您可以在其中配置用户和组的基本注册表,并在角色和用户之间创建映射。

如果您需要更多信息如何在Liberty中进行设置,可以查看WebSphere Liberty Profile Guide for Developers