La page d’inscription continue de rediriger vers la page de connexion dans ASP.NET C#

la programmation


Cela ne se produit que lorsque l’authentification est configurée dans mon fichier Web.config. J’en ai besoin pour me connecter. Cependant, comment puis-je arrêter cette redirection ?

Web.config

HTML
<authentication mode="Forms">
      <forms loginUrl="~/Login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

Et voici l’URL que j’obtiens :

http://localhost:49575/(S(teuci1cr4nob5isksiq5rsf))/Login.aspx?ReturnUrl=%2fRegister.aspx

Solution 1

En effet, le serveur essaierait de permettre à l’utilisateur de se connecter à partir de cette seule page dont vous avez spécifié l’emplacement.

Il existe deux manières de minimiser le problème. La première solution consiste à fournir un formulaire d’inscription et de connexion sur la même page. De cette façon, vous pouvez simplement créer une seule page et l’utilisateur pourra s’inscrire ou se connecter à partir de la même page. Ceci sera utilisé si vous souhaitez vous en tenir à cette méthode de travail web.config.

Cependant, une autre méthode utilise la classe WebSecurity et sa propriété IsAuthenticated pour déterminer si l’utilisateur est connecté ou non, puis le rediriger. Vous pourrez également déterminer sur quelle page se trouve l’utilisateur (s’inscrire ou se connecter ; s’il est en cours de connexion ou s’inscrire alors ne pas le rediriger, sinon le rediriger vers la page de connexion ou de s’inscrire) et ensuite le laisser se connecter par un simple enregistrement. . Comme ça,

C#
if(!WebSecurity.IsAuthenticated) {
   // No user logged in, 
   Response.Redirect("~/Login.aspx");
}

Cela ferait l’affaire. Personnellement, j’aimerais utiliser la deuxième méthode pour vérifier les valeurs et l’état des utilisateurs dans le code-behind.

コメント

タイトルとURLをコピーしました