django rest jwt vue 크로스 필드 문제

2279 단어 djangorestjwtvue
django rest framework 가 router 를 사용 하여 url 을 등록 할 때 인터페이스 패키지 302 에 접근 하 는 오류 가 url 쓰기 에 문제 가 있 을 수 있 습 니 다.
요청/api/login/302 보고 시 뒤의 역 슬 래 쉬 를 제거 하고 정확 한 쓰기/api/login 요청 크로스 필드:
크로스 필드:
쉽게 말 하면 A 사이트 의 자바 script 코드 가 B 사 이 트 를 방문 하려 고 하 는데 제출 내용 과 내용 을 얻 는 것 을 포함한다.이것 은 분명히 안전 하지 않다.이 를 위해 브 라 우 저의 원조:네트워크(Netscape)회 사 는 우수한 해결 방안 을 제시 했다.유명한 브 라 우 저 동원 전략 이다.현재 자 바스 크 립 트 를 지원 하 는 모든 브 라 우 저 에서 이 정책 을 사용 합 니 다.
동원:
도 메 인 이름,프로 토 콜,포트 가 모두 같은 사이트 가 바로 동원 이다.
흐름:
브 라 우 저의 두 Tab 페이지 가 각각 바 이 두 와 구 글 페이지 를 열 때 바 이 두 는 스 크 립 트 를 실행 합 니 다.이때 브 라 우 저 는 이 스 크 립 트 가 어느 페이지 에 속 하 는 지 확인 합 니 다.동원 여 부 를 확인 하 는 것 이다.바 이 두 와 같은 소스 의 스 크 립 트 만 실 행 됩 니 다.원본 이 아니라면 데 이 터 를 요청 할 때 브 라 우 저 는 콘 솔 에 이상 을 알 립 니 다.접근 거부 알림.
해결 방법:
django-cors-headers 설치

 pip install django-cors-headers
settings.py 설정

 INSTALLED_APPS = [

  ...

  "corsheaders",

...

]

 

MIDDLEWARE_CLASSES = (

  ...

"corsheaders.middleware.CorsMiddleware",

"django.middleware.common.CommonMiddleware", #     

...

)

#       

CORS_ALLOW_CREDENTIALS = True

CORS_ORIGIN_ALLOW_ALL = True

CORS_ORIGIN_WHITELIST = (

  "*"

)

 

CORS_ALLOW_METHODS = (

  "DELETE",

  "GET",

  "OPTIONS",

  "PATCH",

  "POST",

  "PUT",

  "VIEW",

)

 

CORS_ALLOW_HEADERS = (

  "XMLHttpRequest",

  "X_FILENAME",

  "accept-encoding",

  "authorization",

  "content-type",

  "dnt",

  "origin",

  "user-agent",

  "x-csrftoken",

  "x-requested-with",

)

해결 하 다.
이상 설정 을 통 해 django 크로스 도 메 인 요청 처 리 를 완벽 하 게 해결 할 수 있 습 니 다.
주의해 야 할 것 은 cors-headers 의 미들웨어 입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기