2014-02-24 5 views
2

고등학교에서 회의실 예약을 위해 GRAILS에 의사 결정 지원 도구를 구축하고 있습니다. Spring Security를 ​​사용 중이며 REST API를 보호하려고합니다. 이 작업을 수행하는 올바른 방법에 대한 정보는 거의 찾지 못했습니다. 그러나 나는 찾아 보았습니다 Spring Security REST plugin보안 REST 플러그인으로 REST API 보안하기

설명서가 명확하지 않은데, 누구든지이 플러그인을 사용하는 실습 예제가 있습니까?

이것을 구현하는 방법에 대한 제안이 유용 할 것입니다.

+0

당신이 [시퀀스 다이어그램] 겪었 (http://alvarosanchez.github.io/grails-spring-security-rest/docs/guide/introduction.html) ? 전체 문서를 한 마디 훑어 보셨습니까?너 뭐 해봤 니? – dmahapatro

+0

발견 한 문서는 [여기] (http://alvarosanchez.github.io/grails-spring-security-rest/)뿐입니다. 주요 문제는 플러그인 작업을 만들기 위해 손으로해야 할 단계와 플러그인에 의해 자동으로 수행되는 단계를 모르는 것입니다. @dmahapatro – thomasvdbossche

+0

지금 GORM 저장소를 사용하고 1.3.0.RC 버전을 사용하는 경우 GORM 관련 구성 만 있으면됩니다. – dmahapatro

답변

3

나는 단지 시퀀스 다이어그램을 소리내어 읽는 중이다. 이 플러그인을 사용하여 샘플 앱을 작성 중이며 (클라이언트 측 AngularJS) 곧 출시 될 예정입니다 (아마도 오늘 밤). 어떤 HTTP 방법을 사용하여 REST 리소스에 대한

  • 클라이언트 요청 :

    은 다음 단계입니다.

  • 서버는 401 (인증되지 않은) 클라이언트 요청에 응답합니다.
  • 클라이언트 (401 수신 중)는 사용자 이름과 비밀번호를 제공하기 위해 사용자를 로그인 페이지로 리디렉션합니다. (스프링 보안 코어 플러그인 기억)
  • 사용자는 사용자 이름과 암호를 제공합니다.
    • 유효성 검사 사용자 : 사용자 정보 수신에
    • 서버 (수단, 클라이언트는 사용자 정보와 요청 본문/요청 PARAM와 플러그인 봄 보안 REST에서 제공하는 POST 요청 타격/API/로그인을 발행해야하는) 4 개 작업을 수행 .
    • 토큰을 생성합니다 (기본적으로 Spring Security REST 플러그인에서 제공).
    • memcahe 또는 GORM 지정된 도메인 클래스에 토큰을 저장합니다.
    • 토큰을 callee (클라이언트)로 되 돌리십시오.
  • 서버에서 생성 된 토큰을 수신하면 클라이언트는 로컬 저장소에 저장하고 해당 특정 사용자에 대한 추가 API 호출에 사용합니다.
  • 모든 리소스에 대해 API가 실행될 때마다 토큰은 매번 Basic Auth이 아닌 X-Auth-Token (기본값)으로 헤더에 전달됩니다.

따라서 REST 끝점에 대한 토큰 기반 유효성 검사가 끝납니다. 자세한 내용은 플러그인 FAQ을 (를) 통해 확인하십시오.

필자는 곧 최신 버전의 플러그인 (1.3.0)을 발표 할 예정이며 문서에서 일부 업데이트를 찾을 수 있습니다.

방금이 플러그인의 기본 기능을 사용했지만 토큰을 생성하는 것 이상의 기능을 처리 할 수있는 유연성이 있습니다. 예 : delegating auth to OAuth providers. 이 답변에서 앞서 설명한 샘플 앱에 대한 링크를 github으로 푸시하자마자 업데이트 할 예정입니다.

UPDATE :
Sample App