gpt4 book ai didi

routing - Sapper - protected 路线(路线守卫)

转载 作者:行者123 更新时间:2023-12-03 13:54:03 25 4
gpt4 key购买 nike

我的问题很简单。你如何预防,例如非授权用户,在 sapper 中输入特定路线?

用户.svelte

<script>
import { onMount } from 'svelte';

onMount(() => {
if(!authenticated)
window.history.back()
});
</script>

在挂载到 DOM 之前是否有任何选项可以运行一些代码?

您如何解决此类问题?

谢谢你。

最佳答案

我不能说这是正确的事情。这就是我在 SPA 中所做的。如果我想保护我的应用程序的所有路由。我在 _layout.svelte 中创建以下内容顶级文件。

<script context="module">

import {ax} from './_parts/Helper.svelte'
import {admin, adminName} from './store'
import {goto} from '@sapper/app'

export async function preload(page) {
try {
const {data} = await ax.get('/admin/is-logged-in')
adminName.set(data)
admin.set(true)
} catch (e) {
admin.set(false)
}
}
</script>

<script>
import Login from './admin/login.svelte'
import {loading} from './store.js'
</script>

<main>
{#if $admin}
<slot></slot>
{:else}
<Login />
{/if}
</main>
ax没什么神奇的。它只是配置了 axios。 '/admin/is-logged-in'是您在后端检查 session 的地方。

关于routing - Sapper - protected 路线(路线守卫),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58153372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com