나는 Drupal 7 콘텐츠 관리 시스템을 사용하는 웹 응용 프로그램을 만들고 있습니다. 웹 페이지는 JQuery와 AJAX를 많이 사용합니다.Drupal을 사용하여 Java REST 서비스를 보호하려면 어떻게해야합니까?
AJAX는 실제로 JAVA를 사용하여 구현 된 REST 서비스를 호출합니다. Apache는 Drupal 7을 실행 중이며 REST URL에 대한 호출을 Java EE 서버 (Jboss AS7)로 전달하도록 구성됩니다. 모든 것이 SSL을 통해 이루어집니다.
REST 서비스에 대한 호출을 인증하고 인증해야하며, Java 응용 프로그램에서 Drupal에 현재 로그인 한 사람의 사용자 이름 또는 ID에 액세스해야합니다. 질문은 ... 어떻게 ...
AJAX 호출이 별도의 서버 등이 아닌 동일한 Apache 서버로 이루어 지므로 모든 것이 동일한 http 세션에서 발생하므로이 작업을 수행하기를 바랍니다. 아주 쉬워.
상황이 내가 생각-의 한 :
- 구성 정의를 호출하는 자바 보안 인터셉터 어떻게 든 세션 ID 및 수익을 읽어 드루팔 서비스 (로컬 만 액세스) 로그인 한 사용자 이름
- 내 REST 호출에 대한 게이트웨이 역할을하는 "벙어리"drupal REST 서비스를 만듭니다.이 서비스는 Java 백엔드 서비스에 전달하기 전에 사용자 이름을 인증/인증합니다.
- https://lists.wisc.edu/read/messages?id=7777296#7777296의 기사는 나는 멀리 지혜를 얻을 수 있었다. h Drupal 서비스를 호출하면 (각 자바 서비스 세션이 시작될 때) Drupal 세션 ID를 사용하여 현재 사용자와 그의 역할을 반환합니다. 내 Java 서비스에서이를 구성하여 x 초마다이 호출을 수행하거나 y 호출을 사용하여 역할 변경 또는 로그 아웃을 확인할 수 있습니다.
다른 사람들은 어떻게합니까? 이것은 해결해야 할 공통적 인 문제가 아닌가? 그렇지 않다면 AJAX를 통해 인증 된 서비스에 안전하게 액세스하기 위해 무엇을해야합니까? Drupal 외에도 두 번째 사용자 제어 프로세스를 도입하는 것은 피할 수없는 경우가 아니라면 오히려 도입하지 않을 것입니다. 건조 :
고마워요 -이게 저를 곤란하게합니다!
그건 의미가 있습니다. 고유 토큰으로 헤더 또는 쿠키에 저장된 세션 변수를 사용하여 추가 토큰의 필요성을 제거 할 수 있습니까? – user1180316