Swagger安全性-当父项为私有时将子路径标记为公共吗?例如。 / api / public / **和/ api / **

时间:2018-06-28 08:24:47

标签: java swagger springfox

我想告诉Swagger(通过Java)一组路径需要身份验证,例如/api/**,但没有特定的子路径,例如/api/public/**

我认为可以像这样为SecurityContext添加一个/api/public/**

SecurityContext.builder()
    .securityReferences(new ArrayList<>())
    .forPaths(PathSelectors.ant("/api/public/**"))
    .build()

即除了我为/api/**构建的上下文之外,我可以为/api/public/**添加一个上下文,没有安全性引用,并且如果我获得正确的订购,则该附加上下文将匹配任何适当的路径而不是/api/**上下文。

但这不是工作原理-匹配发生时,它不仅会停在第一场比赛,还会寻找所有匹配项。因此,像/api/public/foo这样的路径将同时匹配/api/*/api/public/**上下文。

所以有什么方法可以实现我想要的功能,即当我使用Swagger UI时,我不想在诸如/api/public/foo之类的路径旁边看不到锁定图标。

0 个答案:

没有答案