2009-09-23 11 views
1

Je commence à utiliser la gestion des rôles dans mon site Web, et je suis actuellement en train de suivre ce tutoriel: http://www.asp.net/Learn/Security/tutorial-02-vb.aspx.Statut de connexion Asp.net ne fonctionne pas

J'ai un problème avec le contrôle asp: LoginStatus. Il ne me dit pas que je suis actuellement connecté après une connexion réussie. Cela ne peut pas être vrai car après la connexion avec succès, mon LoggedInTemplate est affiché. Le nom d'utilisateur et les mots de passe sont simplement stockés dans un tableau. Voici le code de la page Login.aspx:

Protected Sub btnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ 
    Handles btnLogin.Click 
     ' Three valid username/password pairs: Scott/password, Jisun/password, and Sam/password. 

    Dim users() As String = {"Scott", "Jisun", "Sam"} 

    Dim passwords() As String = {"password", "password", "password"} 

    For i As Integer = 0 To users.Length - 1 

     Dim validUsername As Boolean = (String.Compare(txtUserName.Text, users(i), True) = 0) 

     Dim validPassword As Boolean = (String.Compare(txtPassword.Text, passwords(i), False) = 0) 

     If validUsername AndAlso validPassword Then 

      FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, chkRemember.Checked) 

     End If 

    Next 

    ' If we reach here, the user's credentials were invalid 

    lblInvalid.Visible = True 
End Sub 

est ici le support de lieu de contenu sur la page principale spécialement conçu pour tenir Informations de connexion. En cas de connexion réussie, la page est redirigée vers '/ Default.aspx', et le modèle LoggedIn ci-dessous est affiché ... mais le statut indique Se connecter.

<asp:ContentPlaceHolder Id="LoginContent" runat="server"> 
    <asp:LoginView ID="LoginView1" runat="server"> 

      <LoggedInTemplate> 

       Welcome back, <asp:LoginName ID="LoginName1" runat="server" />. 

      </LoggedInTemplate> 

      <AnonymousTemplate> 

       Hello, stranger. 

      </AnonymousTemplate> 

     </asp:LoginView> 

     <br /> 
     <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="Redirect" LogoutPageUrl="~/Logout.aspx" /> 

     </asp:ContentPlaceHolder> 

L'authentification par formulaires est activée.

Comment puis-je obtenir l'état de connexion pour afficher correctement?

Répondre

0

fixe: J'avais les paramètres de configuration de asp.net, qui avaient des utilisateurs/rôles existants. Donc, chaque fois que j'essayais de me connecter, ça ne fonctionnait pas. Pour résoudre ce problème, réinitialisez les paramètres de configuration d'asp.net, ou démarrez le nouveau projet à partir de zéro (ce que je n'ai pas fait)

0

Je ne vois rien de mal avec votre code, et le code du tutoriel fonctionne pour moi. Avez-vous essayé d'utiliser le code téléchargeable pour le tutoriel pour voir s'il présente le même comportement?

Sample Tutorial Code

+0

Je vais essayer, merci. – contactmatt

+0

Rien ne fonctionnait. Des suggestions quelqu'un? – contactmatt

Questions connexes