2017-03-29 11 views
1

저는 Angular 2 응용 프로그램을 작성 중입니다. 사용자가 wifi 네트워크에 참여하고 Captive Portal에 렌더링 된 응용 프로그램으로 리디렉션되면 응용 프로그램이 부트 스트랩됩니다. 이 응용 프로그램은 OS X 용 Safari를 제외한 다른 모든 브라우저에서 작동합니다.Safari의 Captive Network Assistant가 세션 저장소를 지원하지 않습니다.

OS X의 동작을 조사 할 때 Captive Portal Assistant가 세션 저장소를 지원하지 않는 일부 제한된 브라우저를 시작한 것 같습니다 . 명칭이 부트 스트랩 때 그것이 로그인 페이지로 사용자를 리디렉션하기 전에 세션 저장소에 플래그를 저장해야하기 때문에

https://grpugh.wordpress.com/2014/10/29/an-undocumented-change-to-captive-network-assistant-settings-in-os-x-10-10-yosemite/

내 응용 프로그램을 깨고있다. 이러한 플래그는 사용자가 wifi 리디렉션이나 응용 프로그램 URL을 통해 응용 프로그램을 입력했는지 확인하기 위해 로그인 페이지에서 사용하는 플래그입니다.

이 문제를 해결하려면 어떻게합니까? 내가 연구하고 내 문제에 대한 해결책을 찾지 못했습니다. 우리의 응용 프로그램은 기본적으로 개인 Wi-Fi 네트워크에 액세스하려는 사용자의 입장에서 작동하며 이는 Mac에서 작동해야합니다.

답변

0

대신 쿠키를 사용하여 플래그를 저장 하시겠습니까? 가용성이 window.sessionStorage인지 확인하고 쿠키를 사용할 수없는 경우 해당 쿠키로 폴백 할 수도 있습니다.

+0

CNA는 쿠키를 지원하지 않는 것 같습니다. https://discussions.apple.com/thread/5258403?tstart=0 – Aaron

+0

와우. 그런 다음 쿼리 페이지로 로그인 페이지로 전달할 수 있습니까? 리디렉션을 수행하고 있으므로 해당 기능을 사용할 수 있습니다. 각도 라우터로 쿼리 문자열을 얻는 것은 쉽습니다. –