0

如何在 tomcat-users.xml 中添加组,这个文件有很多版本。在某些文件中只有,在某些文件中有

4

1 回答 1

2

Tomcat 只有用户和角色:所有权限都是基于“角色”给出的,我想这可能意味着“组”。

为了向 中添加角色tomcat-users.xml,您需要做的就是输入它。这是tomcat-users.xmlTomcat (7.0.29) 附带的库存文件:

<tomcat-users>
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
</tomcat-users>

请注意,所有内容都被 XML 注释包围,因此它实际上是空的。

假设您要添加角色“myGroup”并将自己(“kad”)放入其中:

<tomcat-users>
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
  <role rolename="myGroup" />
  <user username="kad" password="secret" roles="myGroup" />
</tomcat-users>

现在您只需要配置您的 webapp 以在允许访问各种资源时检查“myGroup”角色。您可以在 webapp 的web.xml文件中执行此操作,也可以使用该方法以编程方式执行此操作ServletRequest.isUserInRole("myGroup")

请注意,tomcat-users.xml除了可能使用 Tomcat 的“管理器”webapp 之外,您不应该真正在生产环境中使用身份验证:它对于任何工业强度来说都太不灵活了。

于 2012-08-16T12:10:38.190 回答