1

Wie kann ich die Authentifizierung mit der gleichen URL im Browser wie Facebook implementieren implementieren?Vue Js Authentifizierung mit der gleichen URL für Home-Komponente und Login-Komponente

Wenn der Benutzer authentifiziert ist, wird die Startseite angezeigt, andernfalls wird die Anmeldeseite angezeigt. Aber in beiden Fällen ist URL gleich.

Wie kann ich das mit Vue js erreichen.

Ich möchte Homepage nicht html auf Client-Seite behalten, wenn nicht authentifiziert (möglicherweise wird Server-Side-Rendering für dieses Szenario erforderlich).

Ich habe asp.net Core, Identity Server 4, Typoskript, Webpack im Projekt verwendet.

+0

Der Abschnitt, der Ihre Titelseite, ob seine Backend oder Frontend-Rendering macht, kann prüfen, ob der Benutzer authentifiziert ist und dann einfach zurückgeben eine andere Seite - Sie müssen nicht umleiten müssen. Nun, wenn Sie clientseitige Rendering verwenden, wird es offensichtlich zugänglich sein, mit etwas Manipulation des laufenden Javascript, aber das ist nur der Deal mit dem clientseitigen Rendering. –

Antwort

0

Sie so etwas wie schreiben,

<div v-if="isAuthenticated"> 
    <!-- Main Page --> 
<div> 
<div v-else> 
    <!-- Login Page --> 
<div> 

IsAuthenticated ist eine Funktion, die prüft, ob Benutzer authentifiziert wird oder nicht.

+0

Das habe ich gerade gemacht. Das hat jedoch zur Folge, dass beide Komponenten geladen werden müssen (auch wenn es im DOM nicht sichtbar ist), da es sich um eine clientseitige Entscheidung handelt. Ich möchte keine andere Komponente unnötig laden. –

+0

Gibt es einen bestimmten Grund, warum Sie nicht beide Komponenten auf der Clientseite laden möchten. Backend-Rendering nur für den Sack der Authentifizierung scheint wie Overkill. –

+0

Ich möchte nicht unnötig andere unbenutzte schwer geladene Komponenten rendern. :) –