如何在laravel SPA上创建中间件?

问题描述 投票:0回答:1

我是一个新的,刚刚了解laravel SPA。我试图从github创建项目laravel spa。https:/github.comcretueusebiularavel-vue-sta。 .

所以下一步我想添加中间件 , 但在结构上我不知道会发生什么做 .

这个文件夹上

js
  middleware
        admin.js
        auth.js
        check-auth.js
        guest.js
        locale.js

在admin.js上,这个角色是admin,但在表用户上,我没有看到任何关于角色或任何东西,请告诉我。

import store from '~/store'

export default (to, from, next) => {
  if (store.getters['auth/user'].role !== 'admin') {
    next({ name: 'home' })
  } else {
    next()
  }
}

这个角色是管理员,但在表用户我没有看到任何关于角色或任何东西,请告诉我.有人谁已经使用这个,我只是想问,如何可以创建一些中间件,如,用户,管理员,超级管理员,或任何东西.thankyou

laravel vue.js single-page-application
1个回答
0
投票

我想你要做的一般都叫卫士(或门)。这通常是由中间件完成的好吗,但中间件可以用于更多。

在你的具体实例中,你可以启用 admin.js 中间件,在组件中添加 middleware: 'admin' 到组件脚本中。

关于用户的角色字段,你是对的,你需要在用户表中添加角色(也许还有模型)。你需要将角色添加到用户表中(也许还有模型)。你应该可以在Vue开发工具中看到它。你可以把它作为一个文本字段或者一个枚举来添加。使用角色表有更好的方法。但是枚举是快速和肮脏的。

admin.js 只有 "管理员 "这个角色是不允许的,所以你可以直接复制粘贴文件,然后修改 store.getters['auth/user'].role !== 'admin' 到任何你想守护的角色。中的任何文件。js/middleware/ dir看是自动从 js/router/index.js

例如,如果你做了一个名为 superUser.js 并改守为攻 store.getters['auth/user'].role !== 'superUser'你将增加 middleware: 'superUser' 到你的组件。

© www.soinside.com 2019 - 2024. All rights reserved.