小编Кри*_*рис的帖子

如何在Travis中指定构建文件夹?

我有一个github存储库,user/repo但真正的项目是在一个子文件夹中user/repo/project/build.sbt
我应该写什么.travis.yml使Travis忽略顶级文件夹,只在项目文件夹中工作?

灵感来自于此,我尝试了以下哪些不起作用:

env:
  global:
    - REPO="user/repo"
    - CI_HOME=`pwd`/$REPO
script: sh -c 'cd $CI_HOME/project' && sbt ++$TRAVIS_SCALA_VERSION package
Run Code Online (Sandbox Code Playgroud)

错误日志:

$ sh -c 'cd $CI_HOME/project' && sbt ++$TRAVIS_SCALA_VERSION package
Detected sbt version 0.12.2-RC1
/home/travis/build/user/repo doesn't appear to be an sbt project.
Run Code Online (Sandbox Code Playgroud)

理想情况下,应该有一种方法来指定构建文件夹,但让Travis处理构建命令.

travis-ci

48
推荐指数
3
解决办法
2万
查看次数

StrictHttpFirewall在spring security 4.2 vs spring MVC @MatrixVariable

升级到spring security 4.2.4后,我发现StrictHttpFirewall现在是默认设置.不幸的是,它与弹簧MVC @MatrixVariable的效果不佳,因为";" 是不允许的.怎么解决这个问题?

例:

@GetMapping(path = "/{param}")
public void example(@PathVariable String param,
                    @MatrixVariable Map<String, String> matrix) {
    //...
}
Run Code Online (Sandbox Code Playgroud)

这可以像这样调用:

mockMvc.perform(get("/someparam;key=value"))
Run Code Online (Sandbox Code Playgroud)

并填充矩阵图.现在Spring安全阻止了它.

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String ";"

at org.springframework.security.web.firewall.StrictHttpFirewall.rejectedBlacklistedUrls(StrictHttpFirewall.java:140)
Run Code Online (Sandbox Code Playgroud)

我可以使用一个允许分号的自定义HttpFirewall.有没有办法在不使用禁用字符的情况下使用@MatrixVariable?

BTW:javadoc不正确https://docs.spring.io/autorepo/docs/spring-security/4.2.x/apidocs/index.html?org/springframework/security/web/firewall/StrictHttpFirewall.html

以来:

5.0.1

我想这是向后移植的?

spring-mvc spring-security

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

spring-mvc ×1

spring-security ×1

travis-ci ×1