워드 프레스 페이지에 포함될 ajax 애플리케이션을 개발 중입니다. ajax 앱은 Tomcat에서 실행되는 서블릿과 데이터를 교환합니다. 이제 서블릿은 워드 프레스에 로그인 한 사용자의 요청이 있는지 확인하는 방법이 필요합니다. 그리고 사용자가 로그인 한 경우, 서블릿은 데이터베이스를 조회 할 수 있도록 사용자 ID를 판별 할 수 있어야합니다. 사용자가 로그인하지 않으면 요청이 거부됩니다.
즉, 요청을 한 사용자가 워드 프레스 (버전 3.3.x)에 로그인 한 경우에만 서블릿이 요청을 수행하도록해야합니다. 서블릿 (tomcat)과 wordpress (apache2)는 모두 동일한 물리적 시스템에서 실행되며 동일한 데이터베이스를 공유합니다.
이론적으로 이것은 다음을 수행하여 쉽게 해결할 수 있습니다.
- 워드 프레스 로그온 중에 일부 사용자 토큰은 자바 스크립트 변수에 저장됩니다.
- Ajax 앱은 모든 호출에서 사용자 토큰을 서블릿에 전달합니다.
- 서블릿은 토큰이 유효한 경우 (즉, 사용자가 로그인 한 경우) 토큰을 사용하여 요청을 수행하거나 거부합니다.
문제는 이것이 워드 프레스 측에서 어떻게 구현 될 수 있습니까?
이론을 그렇게 복잡하게 만드는 것은 아직 PHP 프로그래밍을하지 않았다는 사실입니다.
먼저 wordpress_logged_in (auth) 쿠키를 서블릿에 전송하고 auth 쿠키가 여전히 유효한 경우 서블릿이 wordpress를 쿼리하도록 생각했습니다. 그러나 로그온 한 사용자의 쿠키 데이터가 전달 되더라도 wp_validate_auth_cookie ()는 항상 실패하므로이 작업을 수행 할 수 없습니다. 다른 해결책은 sessionid와 userid를 테이블에 저장하는 플러그인을 개발하는 것인데, 서블릿에서 쉽게 쿼리 할 수 있습니다. 아니면 다른 해결책이있을 수 있습니다 ...