Vue認証
P粉765684602
P粉765684602 2023-08-18 10:33:04
0
1
586
<p>Vue を使用してこの小さなアプリを構築していますが、認証を機能させることができません。正確に言うと、リダイレクトが機能せず、true ログと Authenticated ログの両方が取得されますが、ホームページ (/) にはリダイレクトされません。しかし、アプリを開くと、すぐに /login に移動します。これは問題ありません。私もそうしたいのですが、前述したように、ログインしようとするとリダイレクトされません。 </p> <p>これは私のログイン コンポーネントとルーターです。 </p> <pre class="brush:php;toolbar:false;">import { createRouter, createWebHistory } from 'vue-router' 「@/views/LoginView.vue」から LoginView をインポートします AboutView を '../views/AboutView.vue' からインポートします。 isAuthenticated を '@/views/LoginView.vue' からインポートします。 const router = createRouter({ 履歴: createWebHistory(import.meta.env.BASE_URL), ルート: [ { パス: '/login'、 名前: 'ログイン'、 コンポーネント: ログインビュー }、 { パス: '/'、 名前: 「ホーム」、 メタ: { 認証が必要: true }、 コンポーネント: AboutView、 beforeEnter:(to,_,next)=>{ if(to.meta.requiresAuth && !isAuthenticated.value){ 次('/ログイン'); } それ以外{ 次(); router.push('/'); } } } 】 }) デフォルトルーター</pre>をエクスポートします。 <pre class="brush:php;toolbar:false;"><テンプレート> <div> <h2>アクセストークンを入力してログイン</h2>
<div class="col-md-8"> <section id="ログインフォーム"> <form @submit.prevent="checkAccessToken"> <div class="フォームグループ"> <label><b>アクセストークン</b></label> <input v-model="accessToken" type="password" class="form-control" /> </div> <input type="submit" value="Login" class="btn btn-primary" /> </フォーム> </セクション> </div> </div> </テンプレート> <スクリプト設定 lang="ts"> 'vue' から { ref} をインポートします 「@/router/index」からルーターをインポートします const isAuthenticated = ref(false); const accessToken = ref(''); const checkAccessToken = () => { if (accessToken.value === '123') { isAuthenticated.value = true; console.log(isAuthenticated.value); console.log('検証済み'); router.push('/'); } それ以外 { } }; </script></pre> <p><br /></p>
P粉765684602
P粉765684602

全員に返信(1)
P粉141455512

router.push() が機能しない場合のみ

次に、vue-router と同様のインポート方法を使用してみてください。 リーリー

次に、

router.push('/')

を使用します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート