Tomcat 有效用户的安全约束
我试图保护 tomcat 中的资源,以便只有“有效用户”(在领域中具有有效登录名和密码的用户)才能访问它。 他们不一定属于领域内的某个群体。 我尝试了
指令的多种组合,但没有成功。 有任何想法吗?
I'm trying to protect a resource in tomcat so that only "valid users" (those with a valid login and password in the realm) can access it. They do not necessarily belong to a group in the realm. I have tried with many combinations of the <security-constraint>
directive without success. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
除了您要添加到安全约束中的身份验证约束之外:
您还需要在网络应用程序中指定安全角色:
Besides the auth-constraint you are adding to the security-constraint:
you need specify the security role in the web-app:
tomcat中有多种领域实现——内存、数据库、JAAS等等。 最容易配置(尽管不是最安全)的内存配置,它包含单个 XML 文件,通常位于 conf/tomcat-users.xml 下:
领域配置位于上下文、主机或引擎配置下,如下所示
: ,在 web.xml 中添加以下定义:
web.xml 部分取自我们的一个 Web 应用程序(略有更改)。
There are several realm implementation in tomcat - memory, database, JAAS and more. The easiest one to configure (though not the most secure) the memory one, which contains a single XML file, usually under conf/tomcat-users.xml:
The realm configuration is under the context, host or engine configurations, like this:
Then, in the web.xml you put the following definition:
The web.xml part is taken (with slight change) from one of our web apps.
如果我们使用 Tomcat 8.x ,因为提供的 server.xml 将出现在嵌套的 Realm 元素中,请在“最外面”的 Realm 元素中添加 'allRolesMode="authOnly"' 并更改上述 web.xml 进行测试。
例如,
请阅读 org.apache.catalina.realm.RealmBase.java 了解详细信息。
此外,logging.properties 中的以下设置也很有用。
If we are using Tomcat 8.x , as the provided server.xml will come in a nested Realm element, please add 'allRolesMode="authOnly"' in the "outmost" Realm element and change aforementioned web.xml for testing.
e.g.
Please read org.apache.catalina.realm.RealmBase.java for details.
Also, following settings in logging.properties are useful.