Pergunta

Eu tenho essa configuração associação local na minha máquina local usando o provedor de associação ASP.NET. Quando eu vou para:

http: // localhost / admin /

Ele me

redireciona

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

O que é bom. Mas depois que eu colocar na minha informação de login, a página parece apenas para refrescar. Na verdade, não me faça o login, e isso só parece que atualiza a página. Se eu mudar a URL para:

http: //localhost/Login.aspx

Ele funciona muito bem. Isso me faz login nenhum problema, e me redireciona para minha página padrão. Eu também verificado o site ao vivo e ele faz a mesma coisa. Alguma ideia? Agradecemos antecipadamente!

EDIT: Aqui está a marcação:

<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>

configuração 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>
Foi útil?

Solução

Você pode nos mostrar algum código? Se você estiver usando método FormsAuthentication.RedirectFromLoginPage, você deve obter o que deseja. Você está usando FormsAuthentication.SetAuthCookie vez?

Atualização

Alterar path="/Admin" em web.config para path=/

A razão que não funciona é que o cookie de autenticação é só definir no caminho /Admin e trata navegador URLs seus como caso sensíveis por isso não vai enviar a volta cookie de autenticação para a página /admin/Default.aspx (admin minúsculas).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top