10
votes

Comment vérifier si l'utilisateur est connecté ou non dans l'authentification basée sur les formulaires

Je veux implémenter une authentification basée sur les formulaires manuellement sur mon site Web.

J'utilise web.config code> fichier pour magasin de données p> xxx pré>

Il y a un login.aspx code> au niveau de racine dans la commande IM à l'aide de la commande de connexion ASP.NET pour obtenir le nom d'utilisateur et le mot de passe. P>

Tout fonctionne bien mais lorsque l'utilisateur est connecté code> et aller manuellement sur login.aspx code> page, ce n'est pas rediriger l'utilisateur à la page defaulturl. p>

Je veux rediriger l'utilisateur sur une page / irréflexion spécifique Page, s'il est connecté et est venu manuellement pour login.aspx Page p>

Comment le faire? p>

Bouton de connexion Cliquez sur H2>
if (FormsAuthentication.Authenticate(LoginUser.UserName, LoginUser.Password))
    {
        FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName, true);

    }


0 commentaires

4 Réponses :


0
votes

J'utilise généralement la stratégie de session pour cela.

Si une session est établie, rediriger l'utilisateur à une page spécifique ou le dirige vers lui de vous connecter.

Vous pouvez vous reporter pour plus d'informations ici http://asp.net-torials.com/ Etat / Sessions /


1 commentaires

Mais, alors comment peut-on rester sur cette page uniquement et non rediriger vers la page login.aspx?



19
votes
    if(HttpContext.Current.User.Identity.IsAuthenticated)
    {

    //Redirect to Default page
    Response.Redirect("default.aspx");
    }

4 commentaires

Bonjour après ajout du navigateur de code ci-dessus montrant le message suivant avec erreur Cette page Web a une boucle de redirection


Utilisez-le sur LOGIN.ASPX. pas default.aspx


J'ai écrit que dans login.aspx page charge uniquement


Peut-être que nous devons supprimer le ! en si instruction



0
votes

Utilisez l'attribut formulaires defaulturl = "xyz.aspx" (votre URL) dans votre fichier web.config


0 commentaires

0
votes
 protected void Page_Load(object sender, EventArgs e)
    {  
        if (!Request.UrlReferrer.Equals("http://localhost:1360/login_page.aspx"))
        {
            Response.Redirect("ERROR ==>? 404");
        }
    }

1 commentaires

Bien que ce code puisse répondre à la question, fournir des informations sur la manière et expliquer pourquoi il résout le problème améliore sa valeur à long terme.