[SPRING] 폼 로그인없이 스프링 보안
SPRING폼 로그인없이 스프링 보안
내 애플리케이션에서 스프링 보안 표현식을 구현했다. 스프링 컨트롤러 :
@Controller
@RequestMapping("init")
public class InitController {
@PreAuthorize("hasRole('ROLE_ADMIN')")
@RequestMapping(value = "/", method = RequestMethod.GET)
public @ResponseBody String home(){
return "This is the init page";
}
}
이 보안 구성의 경우 :
<http auto-config="true" create-session="stateless" use-expressions="true">
<intercept-url pattern="/_ah*" access="permitAll" />
<intercept-url pattern="/init/*" access="hasRole('ROLE_ADMIN')"/>
<intercept-url pattern="/init*" access="hasRole('ROLE_ADMIN')"/>
</http>
이 리소스에 액세스 할 때 기본 Spring 로그인 폼이 표시됩니다 (http : // localhost : 8888 / spring_security_login). 그러나 이런 일이 발생하지 않도록하고 요청 헤더에 삽입 할 자격 증명을 갖고 싶습니다. "x-authorization-key"또는 그 시나리오에 맞는 것을 선택하십시오.
이것에 대한 가능한 해결책은 무엇입니까?
머리글
해결법
-
==============================
1.아마 auto-config가하는 일에 대한 설명을 읽은 다음 폼 - 로그인을 사용하지 않도록 제거해야합니다. 사용하려는 구성을 구체적으로 구성하면 구성이 명확 해집니다.
아마 auto-config가하는 일에 대한 설명을 읽은 다음 폼 - 로그인을 사용하지 않도록 제거해야합니다. 사용하려는 구성을 구체적으로 구성하면 구성이 명확 해집니다.
질문에서 x-authorization-key 헤더에 포함되기를 원하는 것이 명확하지 않습니다. 클라이언트 ID 및 공유 비밀 번호만으로 인증하는 경우 기본 인증을 이미 사용할 수 있으므로 기본 인증을 사용할 수 있으며 구성에
을 추가 할 수 있습니다. 좀 더 맞춤화 된 것을 가지고 있다면 커스텀 필터를 구현하여 스프링 보안 필터 체인에 추가하여 자격 증명을 추출하고 처리해야 할 것입니다. 인증 메커니즘의 적합성은 실제로 구성되어있는 것에 달려 있습니다. 일반적으로 사용자는 인증 할 때로드되는 역할을 할당받습니다. 일반적으로 어떤 종류의 데이터베이스에서로드됩니다. hasRole 표현식은 현재 사용자에게 지정된 역할이 있는지 여부를 단순히 확인합니다. 종종 프레임 워크에 쉽게 꽂을 수있는 표준 형식으로 사용자 정보를로드하는 UserDetailsService 만 만들어야합니다. 이것은 다른 곳에서도 길이 있습니다. 좀 더 맞춤화 된 것이 필요하다면 GAE 통합에 대한이 블로그 기사에는 복잡한 시스템과 통합하는 방법에 대한 세부 정보가 포함되어 있습니다.
create-session = 'stateless'를 사용하면 Spring Security는 세션을 생성하거나 사용하지 않습니다.
추신 동일한 URL을 처리하는 컨트롤러와 URL 수준 모두에서 동일한 보안 특성을 포함 할 필요는 없습니다.
from https://stackoverflow.com/questions/11985709/spring-security-without-form-login by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 요청 사이에 스프링이있는 상태 유지 (0) | 2019.03.17 |
---|---|
[SPRING] 컨테이너 톰캣 서버에서 전개 된 (Spring Boot) 전쟁의 컨텍스트 경로 변경. 따라서 데모가 아닙니다.-0.01-SNAPSHOT (0) | 2019.03.17 |
[SPRING] Mockito.when 같은 물건에 여러 번 전화를? (0) | 2019.03.17 |
[SPRING] spring mvc rest controller에서 base64로 인코딩 된 바이트 [] 대신 이진 데이터를 반환하는 방법 (0) | 2019.03.17 |
[SPRING] Spring 4.0에서의 문자열 변환 (0) | 2019.03.17 |