1
我正在创建一个后端系统,我希望将VueJS2用于Laravel后端。我面对此刻的问题,同时保持利用Vue公司的历史模式的“整洁”的URL(无hashbangs)正在整合所有这些组合起来:VueJS2和Laravel Auth(和历史记录模式)
const router = new VueRouter({
routes,
mode: 'history'
})
我的方式风扇Laravel处理身份验证,因此我试图在这个系统中使用它作为进入SPA的入口点,但这样做打破了历史模式。
在我的路线文件我已经添加,它致力于让浏览器和返回键等的硬爽口的Vue捕捉路线,这工作得很好:
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捕捉路线的终点,但它似乎没有做任何事。
非常感谢!
我不知道这是只对API的工作,而不是面向客户的?当我说我的后端意味着更多的内联网型系统,在那里的客户端访问通过浏览器直接的。所以我希望他们进入登录页面,使用他们的凭证登录,然后才能进入SPA。或者这仍然是解决方案? – Reactive
这仍然是解决方案。你必须明白,授权必须由SPA来处理。我的意思是登录页面必须是在SPA,那么你要发送凭据,后台,再从后台回来JWT并将其存储在SPA,然后装在JWT每个HTTP请求授权您的请求头。 –