2012-02-16 7 views
0

AD 인증을 사용하여 인트라넷 사이트의 인증 방법을 Windows에서 Forms로 변경했습니다. 그것은 VS 2008에서 발사, 직접 요 login.aspx 페이지에 가고 loggin 후 default.aspx로 이동하면 작동합니다. URL을 사용하면 default.aspx로 직접 이동하려고 시도하며 login.aspx 페이지로 이동하는 대신이 페이지를 볼 수있는 권한이 없다고 말합니다. 내가 여기서 무엇을 놓치고 있는지 확실하지 않습니다. IIS에서 익명 액세스를 사용하고 다른 모든 항목을 검사했습니다. Web.config의에서 나는 다음과 같습니다폼 인증, .Net 3.5 + IIS 6

<authentication mode="Forms"> 
    <forms name=".ADAuthCookie" loginUrl="Account/Login.aspx" defaultUrl="Default.aspx" timeout="5" /> 
</authentication> 

<authorization> 
    <deny users="?"/> 
    <allow users="*"/> 
</authorization> 

<membership defaultProvider="CMSOracleMembershipProvider"> 
    <providers> 
     <add name="CMSOracleMembershipProvider" 
      type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" 
      connectionStringName="CMSConnectionString" 
      applicationName="/" 
      enablePasswordRetrieval="false" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="false" 
      requiresUniqueEmail="false" 
      passwordFormat="Hashed" 
      maxInvalidPasswordAttempts="4" 
      minRequiredPasswordLength="9" 
      passwordAttemptWindow="8"/> 
    </providers> 
</membership> 

<roleManager enabled="true" defaultProvider="CMSOracleRoleProvider"> 
    <providers> 
     <add name="CMSOracleRoleProvider" 
      type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" 
     connectionStringName="CMSConnectionString" 
     applicationName="/"/> 
    </providers> 
</roleManager> 

내가 ASP 로그인 제어 할 수는 없지만, ID 및 암호 텍스트 상자의 몇 가지를 내가 AD를 사용하여 인증을 처리합니다.

귀하의 도움에 감사드립니다.

답변

1

첫째,이 글을 읽을 : http://support.microsoft.com/kb/326340

둘째, 그것은 하지가 익명 액세스를 허용하도록 구성 될 수있다 어쩌면 디렉토리가 login.aspx 페이지를 잡고처럼 들린다. 모든 사용자를 허용하도록 설정된 디렉토리에 web.config 파일을 삭제해야합니다.

+0

크리스. 그 폴더에 allow = "*"가 포함 된 web.config가 있습니다. 안전한쪽으로 가기 위해 루트 web.config에 을 추가하여 해당 폴더에 대한 액세스를 허용했습니다. 이 링크는 실제로 양식으로 AD 인증을 구현하기 위해 따라야하는 링크입니다. – NoBullMan

+0

문제가 무엇인지 알았습니다. 내가 사용하고 있던 익명의 사용자, AD에 액세스 할 수있는 사용자로되어 있던 사용자의 ID가 잘못 입력되었습니다. 사용자 ID 앞에 도메인 이름이 누락되었습니다. 그러나 이제는 또 다른 문제가 있습니다. 브라우저를 닫고 새 브라우저를 열고 북마크 된 페이지를 선택하십시오. 그것은 올바르게 반환 URL이 설정된 로그인 페이지로 이동합니다. 하지만 사용자 아이디와 패스워드를 입력하면 아이디와 패스워드를 지우고 주소 표시 줄에있는 URL을 없애고 login.aspx에 앉아 사용자 아이디와 비밀번호를 요구합니다. 다시 공급 한 후 default.aspx로 이동합니다. – NoBullMan

+0

@NoBullMan : 그것에 대해 새로운 질문을하고 싶을 수도 있습니다. 로그인 컨트롤의 설정 문제와 비슷합니다. – NotMe