2013-09-03 2 views
0

수년 전에 제작 된 헬프 데스크 시스템에 Active Directory 인증을 추가하려고합니다. 점차적으로 우리는 전체 시스템을 업그레이드 할 것입니다. 저는 로그인을 호스팅 할 MVC2 응용 프로그램을 만드는 것으로 시작합니다. 그런 다음 새로운 기능을 추가 할 때 MVC에 현재 기능을 가져 오는 것이 계획입니다.MVC2 Active Directory 인증

하지만 로그인은 전체적인 기반입니다. 감사가 필요하므로 시스템에있는 사람을 알아야합니다.

글을 읽었으며, 다른 stackoverflow 글을 읽었으며 편지에 몇 가지 MS 연습을했습니다. ASP 웹 사이트로 작업 할 수 있었지만 MVC 응용 프로그램 인 경우 얻을 수 없었습니다. ASP 응용 프로그램은 방대한 메서드를 추가해야하고, 내가 읽은 모든 것이 MVC처럼 훨씬 더 간단해야합니다.

IIS 인증

  • 익명 : 장애인
  • ASP.NET 가장 :
  • 양식 장애인 여기

    내 IIS 설정 및 내 Web.config를 제작 한 개조입니다 : 사용 가능

  • Windows : 사용 안함

    ... ...

나는 다음과 같은 오류가 계속 :

HTTP Error 401.2 - Unauthorized You are not authorized to view this page due to invalid authentication headers.

최종 목표에서 사용자를 인증하는 것입니다 홈페이지. 인증 할 수 없으면 로그인을 강요하십시오.

편집 : 나는 어떤 근본적인 오류가 문제의 원인이 될 수 있는지 확인하기 위해 익명 인증을 활성화

익명 인증을 사용.

The container specified in the connection string does not exist.

그것은 MyADMembershipProvider의 정의에 오류를 찾는 것 : 나는 다음과 같은 오류가 발생했습니다.

<add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" /> 

나는 다음에 내 연결 문자열 변경 : 성공적으로 로그인 페이지로 리디렉션 않았다

<add name="ADConnectionString" connectionString="LDAP://server.domain.com"/>

을하지만, 자동으로 저를 인증하지 않았다. 그리고 AnonymousDisabled으로 다시 설정하면 원래 오류로 돌아 왔습니다.

내가 읽는 자료에서 얻지 못하는 몇 가지 필수적인 지식을 여기에서 빠뜨린 것 같습니다.

편집 : 모든

에서 작동하지 않는 인증 난 인증이 전혀 작동하지 않는 추가 가치가있을 수도 있습니다 생각했다. MembershipService.ValidateUser은 항상 false를 반환합니다.

답변

0

솔루션이 인증 유형에 있다고 생각합니다.

IIS 인증

  • 익명 : 장애인
  • ASP.NET 가장 : 원래, 나는 다음을 사용하던 장애인
  • 양식 : 사용
  • 윈도우 : 장애인

그리고 내 Web.config 파일에서 나는 Forms 인증을 사용하고있었습니다. 분명히 Active Directory 인증을 위해, 유형 Windows.

원본이어야한다 :이 일을 알고

<authentication mode="Windows" /> 

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

,하지만 난 MVC에 새로 온 이후로, 내가 할 수있는 :

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="2880" /> 
</authentication> 

개정 아직도 뭔가 빠져있다.