J'ai besoin d'empêcher ma page Web de revenir à la page de connexion après la connexion p>
J'essaie de faire un site Web à l'aide de réagir et d'exprimer. J'ai réussi à empêcher mon site Web de revenir à la page de connexion en appuyant sur le bouton Précédent à l'aide de l'historique. Méthodes de cycle de la poussée et de vie, mais je crains que tout le monde puisse toujours accéder à la page de connexion en modifiant URL sur ' http: // Localhost: 3000 / Connexion 'Après la connexion. Utilisation de History.Push ('/') n'a pas résolu le problème. Je serais reconnaissant si quelqu'un peut fournir des conseils sur cette question. Tout ce que je pouvais trouver sur ce numéro sur Stackoverflow était sur PHP, pas réagir. P>
3 Réponses :
Si je vous comprends correctement, vous souhaitez empêcher un authentifié d'accéder à la page de connexion car ils sont déjà authentifiés. Si tel est le cas, vous pouvez effectuer ce qui suit dans le composant de connexion.
componentDidMount() {
if (this.props.authenticated) {
// redirect the user
}
}
Vous pouvez simplement affecter une variable au stockage local où vous avez enregistré votre jeton d'authentification. Ensuite, vous devez la mettre conditionnellement dans la méthode de cycle de vie ComposantDidMount Strong>, puis vous devez rediriger votre itinéraire souhaité. Vérifiez ci-dessous le code componentDidMount() {
const user = localStorage.getItem('authToken') // your saved token in localstorage
if (user && user !== 'undefined') { // check for not undefined
this.props.history.push('/') // now you can redirect your desired route
}
}
Vous pouvez utiliser Dans votre composant de la page de connexion: P> useEffect(() => {
let isAuth = localStorage.getItem('authToken')
if(isAuth & isAuth !== 'undefined') {
props.history.push('/')
}
}, [])
Nous ne pouvons pas vous aider sans voir de code. Pouvez-vous s'il vous plaît poster un code d'exemple pertinent afin que nous puissions vous aider?