因此,我试图做一个路由防护,在重定向到仪表板之前会提示用户输入密码,但是通过所有设置,我仍然可以通过在地址栏中键入/ dashboard来访问仪表板。 我所拥有的:
export default new Router({
mode: 'history',
routes: [
{
path: '/dashboard',
name: 'dashboard',
component: home,
props: true,
beforeEnter: (to, from, next) =>{
if (to.params.senha == to.params.mestre){
next()
} else{
next({name: 'login'})
}
}
其中“ senha”是用户输入,“ mestre”是登录组件数据中存储的变量主密码。
这就是登录组件发送到路由器的内容
toApp() {
this.$router.push({
name: "dashboard",
params: { senha: this.senha, mestre: this.mestre }
});
我知道这不是用于身份验证或任何相关内容的安全方法,对于非常简单的应用程序来说,这非常简单。
我想念什么?
答案 0 :(得分:1)
以上逻辑工作正常,没有发现错误
尝试对路由器推送和测试中的值进行硬编码
this.$router.push({
name: "dashboard",
params: { senha: "senha", mestre: "senha" }
});
如果正常,请在路由之前尝试在控制台中打印该值
console.log(this.senha, this.mestre);
this.$router.push({
name: "dashboard",
params: { senha: this.senha, mestre: this.mestre }
});
如果仍然发现任何问题,请尝试检查控制台是否有任何错误