Question

J'ai cette configuration du site d'adhésion sur ma machine locale en utilisant le fournisseur d'appartenances ASP.NET. Quand je vais à:

http: // localhost / admin /

Il me redirige vers

http: //localhost/Login.aspx ReturnUrl =% 2fadmin% 2fDefault .aspx

Ce qui est bien. Mais après que je mets dans mes informations de connexion, la page semble juste pour se rafraîchir. Il ne me connecte pas réellement, et il semble tout comme il actualise la page. Si je change l'URL:

http: //localhost/Login.aspx

Il fonctionne très bien. Il me connecte pas de problème, et me redirige vers ma page par défaut. J'ai aussi vérifié le site en direct et il fait la même chose. Des idées? Merci d'avance!

EDIT: Voici le balisage:

<asp:Login ID="Login1" runat="server" CssClass="LoginBox" TitleText="Please Log In">
    <LayoutTemplate>
        <h2>
            Please Log In:</h2>
        <p runat="server" id="FailureText" visible="false">
            Either your email address or password was incorrect. Please try again.</p>
        <strong>Email</strong><br />
        <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
            Text="*"></asp:RequiredFieldValidator>
        </p>
        <p>
            <strong>Password</strong><br />
            <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
            <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
                Text="*"></asp:RequiredFieldValidator>
        </p>
        <p>
            <asp:Button ID="Login" CommandName="Login" runat="server" Text="Log In" /></p>
        <p>
            Please <a runat="server" id="Link_ContactUs">contact </a>an administrator if you
            are having trouble logging in or have forgotten your password.</p>
    </LayoutTemplate>
</asp:Login>

Configuration web.config:

<authentication mode="Forms">
  <forms loginUrl="/Login.aspx"
         protection="All"
         timeout="60"
         name="AppNameCookie"
         path="/Admin"
         requireSSL="false"
         slidingExpiration="true"
         defaultUrl="/Admin/Default.aspx"
         cookieless="UseCookies"
         enableCrossAppRedirects="false" />
</authentication>
Était-ce utile?

La solution

Pouvez-vous nous montrer un code? Si vous utilisez la méthode de FormsAuthentication.RedirectFromLoginPage, vous devriez obtenir ce que vous voulez. Utilisez-vous à la place FormsAuthentication.SetAuthCookie?

Mise à jour

Changement path="/Admin" dans web.config à path=/

La raison pour laquelle il ne fonctionne est que votre cookie d'authentification n'est uniquement définie dans le chemin de /Admin et votre navigateur traite les URL comme sensibles à la casse afin de ne pas envoyer le cookie d'authentification Retour à la page /admin/Default.aspx (de admin minuscules).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top