在Tomcat 7 tomcat-users.xml 文件中,<role />
标记的用途是什么?
对于Tomcat 7的XAMPP实例,我已经找到了如何配置 tomcat-users.xml 文件以允许我访问 Tomcat Web应用程序管理器和 Tomcat Virtual Host Manager 。更具体地说,以下内容使上述访问成为可能:
<tomcat-users>
<user username="uname" password="pword" roles="manager-gui,admin-gui"/>
</tomcat-users>
请注意,此成功的XML片段中没有的是任何<role />
标记。这就是我的问题的关键:我不能为我的生活找出角色标签的用途。
为了学习如何配置访问权限,我已经阅读了大量的文档和论坛帖子,但它们似乎都是围成一圈的:一个人可以定义角色,但是角色似乎并没有真正定义任何有用的东西(?)
例如,这里是 tomcat-users.xml 文件和许多论坛帖子中使用的反复说明,“解释”角色的使用。
<tomcat-users>
<role rolename="tomcat"/>
<user username="uname" password="pword" roles="tomcat"/>
</tomcat-users>
好的,所以在这个“解释”中, role 元素定义 rolename 属性等于 tomcat ,然后 user < / em>元素包含 roles 属性,该属性将用户的角色定义为 tomcat 。有什么意义?
问另一种方法,假设在 role 元素中, rolename attrbute定义 tomcat , roles = tomcat 到底是什么?特别是与 的工作用户定义相比较,其中 manager-gui 和 admin-gui 定义了启用 Tomcat Web应用程序管理器的角色 AND Tomcat Virtual Host Manager 访问。
干杯&amp;谢谢,
莱利
SFO
答案 0 :(得分:3)
据我了解你(可以)定义角色:
因为它为您提供了更大的灵活性,例如添加描述。 GUI可以使用此信息。
<role rolename="customer" description="Customer of Java WebService"/>
您可以稍后在特定的servlet中重新映射或分组角色
<security-role-ref>
<role-name>cust</role-name>
<role-link>bankCustomer</role-link>
</security-role-ref>
请记住,我不是Tomcat专家,所以我希望真正的专家可以改进这个答案。
答案 1 :(得分:3)
<role .../>
中tomcat-users.xml
元素的使用是可选的。 Tomcat根据<role .../>
元素和用户roles="..."
属性中指定的角色构建角色列表。
使用<role .../>
元素的好处是您可以声明完整的受支持角色集,并且可以包含描述角色的描述属性。
除此之外,tomcat-users.xml
也支持组,尽管它们未在默认情况下随Tomcat发布的示例中显示。组是可以分配给用户的角色集。
答案 2 :(得分:2)
问另一种方式,鉴于在角色元素中,rolename attrbute定义了tomcat,roles = tomcat做了什么,究竟是什么?特别是与我的工作用户定义相比较,manager-gui和admin-gui定义了支持Tomcat Web应用程序管理器和Tomcat Virtual Host Manager访问的角色。
角色/安全性约束在应用程序描述符 web.xml 中定义。
例如, manager-gui 在tomcat manager 应用程序中定义:
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size