2013-11-20 2 views
2

나는 REST API를 제공하는 Grails 백엔드를 가지고있다. 내 모바일 앱이이 REST API에 액세스하여 서버에서 데이터를 가져옵니다. 인증, 로그인, 로그 아웃은 Spring Security로 수행되어야합니다.REST API를 사용한 스프링 보안 인증?

내 서버에 구축 된 페이지를 제공하기 때문에 데스크톱 사용자에게 유용합니다.

인증, 로그인 및 로그 아웃을 위해 REST 컨트롤러에 스프링 보안을 사용해야하는 이유는 무엇입니까?

답변

4

REST API를 제공하는 경우 로그인 및 로그 아웃을 구현하지 않아도됩니다. 인증 측면에서 일반적으로 가장 쉬운 방법은 HTTP Basic을 사용하는 것입니다. Spring Security는 기본적으로 상자를 지원하므로 문제가되지 않습니다.

여기는 Erwin Vervaet의 블로그 setting up Grails to use HTTP Basic authentication에 대한 유용한 정보입니다.

+0

로그인을 구현해야하는 이유는 무엇입니까? – confile

+2

HTTP Basic을 사용하면 각 요청에 대해 사용자 이름과 암호가 응용 프로그램에 전달되므로 인증 메커니즘을 상태없이 유지할 수 있습니다. 상태 비 저장 앱을 사용하면 실제로 로그인 또는 로그 아웃 개념이 없습니다. 서버는 실제 인증 (예 : 세션으로 내부적으로)을 캐시하도록 선택할 수 있지만 캐시는 상태와 다릅니다. –

+2

좋아, 아주 간단 해 보인다. 각 요청마다 암호를 보내면 보안 문제가되지 않습니까? 암호는 일반 또는 암호화로 보내야합니까? – confile

3

감각 봄 보안 세션을 만들려면 How does Spring Security sessions work? 을 참조하십시오. 데스크톱의 브라우저는 사용자를 대신하여 모바일 앱에서 쿠키를 제공하지 않습니다. 따라서 첫 번째 로그인 후에 각 모바일 요청에 jsessionid를 포함시키는 것을 고려할 수 있습니다. 이는 기본 인증이 수행 할 수있는 것보다 스프링 보안에서 완전한 인증 및 인증 지원을 활용하는 것입니다.

+0

그 예가 있습니까? – confile