$ http는 요청에서 쿠키를 보내지 않습니다.
AngularJS 및 Java Servlet을 사용하여 RESTful 웹 서비스를 개발하고 있습니다. 사용자가 로그인하면 백엔드가 "Set-Cookie"헤더를 프런트 엔드로 보냅니다. Angular에서는 $cookies(ngCookie-모듈)을 통해 헤더에 액세스 하고 설정합니다.
이제 사용자가 로그인 했으므로 예를 들어 일부 항목을 삭제할 수 있습니다. 따라서 프런트 엔드는 GET 요청을 백엔드로 보냅니다. 다른 도메인에서 작업하기 때문에 일부 CORS 헤더를 설정해야하며 Angular는 실제 GET 요청 전에 OPTIONS 요청을 수행합니다.
OPTIONS 요청 : 
GET 요청 
$ http 모듈을 통해 Angular에서이 작업을 수행하지만 JSESSIONID.
Angular가 쿠키를 보내도록하려면 어떻게해야합니까?
구성에서 DI $httpProvider를 누른 다음 withCredentials를 true로 설정하십시오.
.config(function ($httpProvider) {
$httpProvider.defaults.withCredentials = true;
//rest of route code
})
angularjs withCredentials에 대한 정보 : http://docs.angularjs.org/api/ng.$http
Mozilla 문서에 대한 링크 : https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control#section_5
$http.get("URL", { withCredentials: true })
.success(function(data, status, headers, config) {})
.error(function(data, status, headers, config) {});
명심해야 할 또 다른 사항 : 타사 쿠키를 활성화 해야합니다 . Chrome에서 전역 적으로 비활성화 한 경우 도메인 이름 왼쪽에있는 "i"-기호를 클릭 한 다음 쿠키를 클릭 한 다음 "차단됨"을 클릭하고 대상 도메인을 차단 해제합니다.
참고 URL : https://stackoverflow.com/questions/17064791/http-doesnt-send-cookie-in-requests
'program story' 카테고리의 다른 글
| TLD는 얼마나 오래 걸릴 수 있습니까? (0) | 2020.11.04 |
|---|---|
| Symfony 2에 JSON 객체 게시 (0) | 2020.11.04 |
| Windows에서 Ubuntu 하위 시스템으로 파일 복사 (0) | 2020.11.04 |
| ButtonGroup에서 어떤 JRadioButton이 선택되었는지 어떻게 알 수 있습니까? (0) | 2020.11.04 |
| C ++에서 정의하는 WIN32와 _WIN32의 차이점은 무엇입니까? (0) | 2020.11.04 |