Laravel 백엔드에서 VueJS2를 사용하려는 백엔드 시스템을 만들고 있습니다.VueJS2 및 Laravel Auth (및 기록 모드)
const router = new VueRouter({
routes,
mode: 'history'
})
Laravel가 인증을 처리하고 같은 내가 곧 길이의 팬이다 : 뷰의 역사 모드를 이용한 '깔끔한'URL이 (NO hashbangs)를 유지하면서 내가 순간에 직면하고있어 문제는 모두 함께이 통합되어 SPA에 진입 점으로이 시스템에서 사용하려고 시도했지만 그렇게하면 기록 모드가 중단됩니다. 내 경로에
내가 브라우저와 뒤로 가기 버튼 등의 하드 상쾌한 할 수 있도록 작동하는 뷰 캡처 경로를 추가 한 파일이 잘 작동합니다 :Route::get('/{vue_capture?}', function() {
return view('home');
})->where('vue_capture', '[\/\w\.-]*');
그러나 내가 'Laravel 인증을 사용하려면 무엇에 액세스하기 전에 로그인을 강제로 작동하지만 역사 모드 나누기 다음 확인, 추가했습니다 :
if (Auth::check()) {
Route::get('/{vue_capture?}', function() {
return view('home');
})->where('vue_capture', '[\/\w\.-]*');
}
else {
// the home controller has the auth middleware in the __construct
Route::get('/', '[email protected]');
}
나는 VUE 캡처 경로의 끝 부분에 미들웨어를 추가 해봤를하지만 보이지 않았다 무엇이든 할 수 있습니다.
감사합니다.
잘 모르겠어요 : https://laravel.com/docs/5.3/passport
이이 목적을 위해 좋은 패키지가 무엇입니까? 내가 백엔드라고 할 때 브라우저를 통해 클라이언트가 직접 액세스 할 수있는 인트라넷 유형 시스템을 의미합니다. 따라서 로그인 페이지로 이동하여 자격 증명으로 로그인 한 다음 SPA 만 입력하면됩니다. 아니면 여전히 해결책입니까? – Reactive
이것은 여전히 해결책입니다. auth는 SPA에서 처리해야한다는 것을 이해해야합니다. 로그인 페이지가 SPA에 있어야한다는 것을 의미합니다. 그런 다음 백엔드에 자격 증명을 보내야하고 백엔드에서 JWT를 가져 와서 SPA에 저장 한 다음 모든 HTTP 요청의 헤더에 JWT를 첨부하여 요청 권한을 부여해야합니다. –