문제

ASP.NET 멤버십 제공 업체를 사용 하여이 멤버십 사이트 설정이 현지 컴퓨터에 설정되어 있습니다. 내가 갈 때 :

http : // localhost/admin/

그것은 나를 다시 방향으로 만듭니다

http : //localhost/login.aspx? returnurl =%2fadmin%2fdefault.aspx

괜찮습니다. 그러나 로그인 정보를 넣은 후 페이지가 새로 고침되는 것 같습니다. 실제로 로그인하지 않으며 페이지를 새로 고치는 것처럼 보입니다. URL을 변경하면 :

http : //localhost/login.aspx

잘 작동합니다. 아무런 문제가없는 상태로 로그인하고 기본 페이지로 다시 리디렉션합니다. 나는 또한 라이브 사이트를 확인했고 같은 일을한다. 어떤 아이디어? 미리 감사드립니다!

편집 : 여기에 마크 업이 있습니다.

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

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>
도움이 되었습니까?

해결책

코드를 보여줄 수 있습니까? 사용중인 경우 FormsAuthentication.RedirectFromLoginPage 방법, 원하는 것을 얻어야합니다. 당신은 사용하고 있습니까? FormsAuthentication.SetAuthCookie 대신에?

업데이트

변화 path="/Admin" 안에 web.config 에게 path=/

작동하지 않는 이유는 인증 쿠키가 설정되기 때문입니다. /Admin 경로와 브라우저는 URL을 케이스에 민감하게 처리하므로 인증 쿠키를 다시 보내지 않습니다. /admin/Default.aspx 페이지 (소문자 admin).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top