我使用下面的代码来创建我的vue应用程序路由和vuex-oidcvuexOidcCreateRouterMiddleware
来保护它们。
我的路由不仅在这个文件中。我在App.vue
中使用axios
从api终结点获取其他路由,并将它们添加到使用this.$router.addRoute()
的路由中
加载这些额外路由时,beforeEach
将vuex-oidc应用于所有路由。
到目前为止,一切都很完美。
我的问题是
我需要排除"Welcome"
路由,这样vuex-oidc
就不会应用到它。这样,所有访问者都可以访问它,而不仅仅是登录用户。
如何编辑以下行以排除欢迎路线?
router.beforeEach(vuexOidcCreateRouterMiddleware(store, 'oidcStore'))
或任何其他解决方案。
谢谢
import { createRouter, createWebHistory } from 'vue-router'
import { vuexOidcCreateRouterMiddleware } from 'vuex-oidc'
import store from '@/store'
const routes = [
{
path: process.env.BASE_URL + 'oidc-callback',
name: 'OidcCallback',
component: () => import(/* webpackChunkName: "OidcCallback" */ '../views/OidcCallback.vue')
},
{
path: process.env.BASE_URL + 'profile',
name: 'Profile',
component: () => import('../views/Profile.vue'),
},
{
path: process.env.BASE_URL + 'oidc-silent-renew',
name: 'OidcSilentRenew',
component: () => import('../views/OidcSilentRenew.vue'),
},
{
path: process.env.BASE_URL + 'welcome',
name: 'Welcome',
component: () => import('../views/Welcome.vue'),
},
]
const router = createRouter({
base: '/vue3/',
history: createWebHistory(),
routes
})
router.beforeEach(vuexOidcCreateRouterMiddleware(store, 'oidcStore'))
export default router
1条答案
按热度按时间dced5bon1#
看起来我忽略了。解决方法很简单。只需添加
isPublic
并将其设置为route
中meta
下的true