나는 기본 응용 프로그램을 설정하고 있습니다. 내가 길을 가득 채우고 사용자가 로그인했는지 확인하는 onBeforeAction을 가지고 있는데 그렇지 않다면 this.layout()을 사용하여 특별한 레이아웃 내에서 Login 템플릿을 렌더링한다.Meteor.user()가 유효 할뿐만 아니라 모든 것을 검사하기 전에 Route
또한 내 기본 layoutTemplate, loadingTemplate 및 notFoundTemplate을 Router.configure()에서 설정합니다. 내가 아는 한 모든 것을 달리 정의하지 않는 모든 Route에 대해 기본값을 설정합니다.
기본적으로 모든 것이 한 가지 예외로 작동합니다. 404 이벤트의 경우 onBeforeAction이 호출되지 않습니다. 그러면 내 404 템플릿이 기본 레이아웃으로 렌더링됩니다. 내 목표는 기존 경로가 아닌 곳에서도 로그인 확인을하는 것입니다.
어떻게 처리 할 수 있습니까?
나는 그 잡다한 길을 알지 못했습니다. 그리고 그것은 좋은 출발입니다. 내 설정은 비슷하지만 리디렉션을 사용하지 않지만 로그인 템플릿을 직접 렌더링합니다. 그 결과, 로그인 한 사용자는 기존의 경로를 입력 할 때 로그인 템플릿을 보게됩니다. 다시 빠르게 사라지고 빈 페이지가 나타납니다. 그래서이 로그인 템플릿 렌더링을 피하고 대신 404 템플릿을 표시하는 방법을 알아야합니다. – Helmi
사실, 실제로 catchall 경로에 notFoundTemplate을 렌더링 할 수 있습니다. 그 경로에 도달하면 일치하는 경로가 없기 때문입니다. 그런 다음 Router.configure()에서 notFoundTemplate 구성을 제거하십시오. – cfs
동일한 설정을 시도했지만 동일한 문제가 발생했습니다. 해결 방법은 사용자가 없으면 this.next() 호출을 제거하는 것입니다 (업데이트 된 코드 참조). – cfs