2011-08-21 3 views
4

양식 인증을 사용하는 웹 사이트가 있는데, 처음에는 "www. [site] .com"이있는 사이트로 이동할 때 Default.aspx 페이지를 방문해야하는 어려움이 있습니다. 그런 다음 로그인 링크를 클릭하여 로그인 페이지로 리디렉션하고 거기에서 사이트에 로그인 할 수 있습니다.양식 인증을 사용하여 기본 페이지를 유지하는 방법은 무엇입니까?

지금은 사이트를 요청할 때마다 항상 로그인 페이지가 표시됩니다. 그래도 내가 올바른 접근 방식을 사용하고 있는지 잘 모르겠다.

의견이 있으십니까?

업데이트 :이 흐름 같은 :.

  1. 이동 WWW에 [사이트] .COM
  2. 받기 Default.aspx
  3. 클릭
  4. Login.aspx
로 리디렉션 이미지로 구성 LoginStatus 제어에

web.config가 다음과 같이 구성되어 있다고 생각하십시오.

<authentication mode="Forms"> 
    <forms loginUrl="Default.aspx" timeout="20" protection="None" cookieless="UseCookies"/> 
</authentication> 

LoginStatus 제어는 다음과 같이이다 :

<div class="loginStat"> 
      <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LoginImageUrl="~/images/Key-icon.png" 
       LogoutImageUrl="~/images/LogOut32.png" LogoutPageUrl="~/" ToolTip="Log in/out" /> 
     </div> 

답변

1

어떻게 DefaultUrl 속성을 설정하는 방법에 대한 "Default.aspx를"및 폼 인증 태그에서 login.aspx을 exlude에?
분명히 당신이 login.aspx을 배제하지 않았다 귀하의 코멘트에 따라

편집. (login.aspx와 default.aspx에이 루트 내부에 배치하는 경우) 루트의 Web.config의 내부에 적절한 장소에 추가

<location path="login.aspx"> 
<system.web> 
    <authorization> 
    <allow users="*" /> 
    </authorization> 
    </system.web> 
</location> 
+0

내가 그 일을 해왔고 그 이유는 직설적 인 접근 방식이 아니라는 점이다. 로그인 이미지가있는 컨트롤은 항상 기본 페이지로 리디렉션된다.이 경우 링크 된 페이지를 사용해야한다. 이미지 또는 다른 뭔가를 로그인 페이지로 리디렉션하고 양식 인증을위한 빌드 인 코드를 잊어 버리셨습니까? – nolimit

+0

login.aspx를 열 때 default.aspx로 리디렉션되지 않았 으면합니다.내 게시물을 수정했습니다. – citronas

+0

citronas에 감사드립니다. 답변을 주셔서 감사합니다. 이미 web.config에 문제가 있습니다. LoginStatus는 "login.aspx"대신 "default.aspx"라는 기본 페이지로 리디렉션됩니다. 내가 본 것으로부터, 나는 적절한 인증을하기 위해 자신의 코드로 링크 된 이미지 나 href 된 이미지를 사용해야한다고 생각한다. – nolimit

1

문제는 Default.aspx을받은 "loginUrl로 지정한 것입니다 "양식의"양식 "인증 태그 내에있는 속성. 두 번째 문제는 아마도 익명 사용자가 Default.aspx에 액세스하는 것을 허용하지 않는다는 것입니다.

같이 귀하의 Web.config를 수정

<authentication mode="Forms"> 
    <forms defaultUrl="Default.aspx" loginUrl="Login.aspx" timeout="20" protection="None" cookieless="UseCookies"/> 
</authentication> 

의 핵심은 인증이 자동으로 Login.aspx로 리디렉션 양식없이 익명 사용자가 Default.aspx를 볼 수 있도록로 당신의 Web.config의에서이 문제를 포함하는 것입니다

<location path="Default.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 

이 사용자가 로그인하지 않고 Default.aspx를 볼 수 있습니다. 사용자가 LoginStatus 제어 t으로 "형태"태그의 "loginUrl"속성을 사용하는 익명 인 경우를 그는 내 구성으로 Login.aspx, 원하는대로 연결할 수있는 위치에 연결합니다.

+0

답장을 보내 주셔서 감사합니다. loginUrl에 아무 것도 지정하지 않으셨습니까? 나는 실제로 내 자신의 LoginStatus를 작성하고 더 많은 jQuery 물건을 추가했다. – nolimit

+0

"loginURL"은 사용자가 로그인하는 데 사용하는 URL이어야합니다. 주석으로 말한 것처럼 :) 사이트를 요청할 때 항상 로그인 페이지가 표시되는 이유는 인증되지 않은 사이트 (일명 " anonymous ") 사용자는"Default.aspx "에 액세스 할 수 있습니다. 그것이 내 대답의 두 번째 부분입니다. –

관련 문제