Jetty ConstraintMapping适用于任何不匹配的网址?

时间:2017-12-20 20:57:25

标签: security web-applications jetty embedded-jetty jetty-9

我尝试使用ConstraintSecurityHandler来保护我的应用。到目前为止效果很好。但是,我想从中排除某些路径 - 特别是我希望任何以/api/开头的路径忽略常规安全/登录(它使用API​​令牌保护)。我喜欢像

这样的东西

/* (that doesn't match one of the below) Requires view role /api/* Skips security handler /admin/* Requires admin role

有没有一种简单的方法可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

ConstraintSecurityHandler实现了Servlet规范的安全约束机制。

它只是一个受限制的路径列表。如果碰巧重叠则第一个约束获胜。

Servlet规范约束没有概念"排除"来自约束的路径。

您可以尝试将/api/*实现为没有ConstraintMapping的{​​{1}}(没有角色,未经过身份验证等)。