VueJS2和Laravel Auth(和历史模式)

时间:2016-12-09 09:24:25

标签: laravel vue.js html5-history vue-router vuejs2

我正在创建一个后端系统,我希望将VueJS2用于Laravel后端。我现在面临的问题是将所有这些整合在一起,同时利用Vue的历史模式保持“整洁”的URL(无哈希):

@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.LOCAL_VARIABLE)
@interface Initi{
    public String val() default "str";
}

public static void main(String[] args) {
    @Initi
    String test;
    System.out.println(test);
}

我是Laravel处理身份验证的方式的粉丝,因此我尝试在此系统中使用它作为SPA的切入点,但这样做会打破历史记录模式。

在我的路线文件中,我添加了一个Vue捕获路由,可以让浏览器和后退按钮等进行硬刷新,这样可以正常工作:

const router = new VueRouter({
  routes,

  mode: 'history'
})

然而,为了使用Laravel Auth,我添加了以下检查,这有助于您在访问其他任何内容之前登录,但会破坏历史记录模式:

Route::get('/{vue_capture?}', function () {
    return view('home');
})->where('vue_capture', '[\/\w\.-]*');

我尝试在vue捕获路径的末尾添加中间件,但它似乎没有做任何事情。

非常感谢!

1 个答案:

答案 0 :(得分:0)

要使SPA与任何后端一起使用,您应该使用基于JWT的Api身份验证。

这是关于它的Laravel文档:https://laravel.com/docs/5.3/passport

这是一个很好的包装:https://github.com/tymondesigns/jwt-auth