不知何故,如果以空格开头,我们有一个可以被绕过的休息api。 战争由tomcat主持。
通过此调用,它无需身份验证即可通过。 http://myserver/api/version/mywarapplication/%20admin/param1/param2/users
有了这个,我确实得到了预期的403 http://myserver/api/version/mywarapplication/admin/param1/param2/users
spring security配置与映射
类似class Foo
{
public Foo(int i)
{
if (! (i > 3 && i <= 40)) {
throw ArgumentOutOfRangeException('i')
}
val = i;
}
public int val;
public static implicit operator int(Foo i)
{
return i.val;
}
public static implicit operator Foo(int i)
{
return new Foo(i);
}
public void print_multiple_times(Foo foo, string bar) {
// ...
}
}
请求映射如下所示:
.authorizeRequests()
.antMatchers("/authenticate/**").authenticated()
.antMatchers("/checkCredentials/**").authenticated()
.antMatchers("/Downloads/**").authenticated()
.antMatchers("/admin/**").hasRole("ADMIN")
任何见解都会受到高度赞赏,因为我看不到我们所缺少的东西。