2014-10-17 3 views
8

Java 구성에서 스프링 부트, 웹 MVC 및 스프링 보안을 사용하고 있습니다. 내 URL은 'RESTful'이며 맞춤 인증 방법을 추가하려고합니다. 예를 들어경로 변수와 개미 매처를 이용한 스프링 보안 커스텀 메소드

:

나는 이런 식으로 뭔가를 달성하고자하는
.antMatchers("/path/*/**").access("@myBean.authorise()") 

:

.antMatchers("/path/{token}/**").access("@myBean.authorise(token)") 

나는 내가 HttpServletRequest에 전달하고 수동으로 경로를 제거하지만,이를 방지하고자 할 수 있음을 이해 ! 또한 메서드 수준의 보안에 너무 치열하지 않고 오히려 많은 컨트롤러를 가지고 있으므로 한 곳에서 구성을 유지합니다.

감사합니다.

/path/????????-????-????-????-????????????/** 

답변

2

당신은 #로 접두사, 경로 변수에 액세스 할 수 있습니다

0

나는 당신이 (this 기준) AntPathMatcher를 사용하여 얻을 수있는 가장 가까운 있다고 생각합니다. 귀하의 경우 올바른 구문은 다음과 같습니다.

.antMatchers("/path/{token}/**").access("@myBean.authorise(#token)") 

이 기능이 도입되었을 때 확실하지 않지만 현재 지원되는 것으로 알고 있습니다. 참조 : https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#el-access-web-path-variables

관련 문제