gpt4 book ai didi

jakarta-ee - 以编程方式从 web.xml 检索安全约束

转载 作者:行者123 更新时间:2023-12-03 23:58:13 25 4
gpt4 key购买 nike

是否有可能从 web.xml 获取约束列表?

 <security-constraint>
<web-resource-collection>
<web-resource-name>admin</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>

更好的是有一种编程方式来添加新的约束吗?

谢谢,维克多

最佳答案

如果您有一个 ServletContainerInitializer,在它的 onStartup() 方法中,您基本上会执行您的容器在解析您的 web.xml 时所做的事情。例如:

@Override
public void onStartup(Set<Class<?>> classes, ServletContext ctx) throws ServletException {
ServletRegistration.Dynamic servlet = ctx.addServlet("myServlet", "com.package.myServlet"); // loop through classes set to find all your servlets
HttpConstraintElement constraint = new HttpConstraintElement(); // many constructors with options
ServletSecurityElement securityElement = new ServletSecurityElement(constraint); // many different constructors
servlet.setServletSecurity(securityElement);
}

在我为各种配置评论的构造函数中有很多选项,甚至通过 servlet 3.0 security annotations .我会让你发现它们。

至于在初始化后添加新约束,setServletSecurity() 的 javadoc说:

* @throws IllegalStateException if the {@link ServletContext} from
* which this <code>ServletRegistration</code> was obtained has
* already been initialized

我找不到任何通过 ServletContext 接口(interface)获取约束列表的东西,但你总是可以自己解析 web.xml。

关于jakarta-ee - 以编程方式从 web.xml 检索安全约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16733946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com