2011-01-05 3 views

답변

0

IIS의 사이트 수준에서 Windows 인증을 설정해야하기 때문에 가능하지 않다고 생각합니다. 이 기능을 사용하려면 두 개의 별도 웹 응용 프로그램이 필요합니다.

3
[Authorize] 
public class MyController : Controller 
{ 
    public ActionResult Index() 
    { 
    return View(); 
    } 
} 

MyController의 모든 행동에 대한 승인을 필요로하지만, [Authorize] 속성이없는 아무것도는 공개적으로 액세스 할 수 있어야합니다.

또한 web.config에서 Windows 인증을 설정해야합니다.

<authentication mode="Windows"/> 

This link may be helpful.

편집

유일한 시간은 당신이 동일한 사이트 내에서 Windows 및 폼 인증을 모두 사용해야 할 경우 별도의 응용 프로그램은 만들 필요가 있어야한다 - 예를 들어, 사용자를위한 양식 인증이 필요하다고 말하면 토론 포럼이지만 관리자 영역에 대해서는 Windows 인증이 필요합니다. 인증 방법은 응용 프로그램 수준에서 설정되고 재정의 될 수 없으므로이 경우 Windows 인증이 필요한 부분은 IIS의 개별 웹 응용 프로그램과 가상 디렉터리로 분할되어야합니다.

+0

실제로 해봤지만 Windows 인증을 사용하기 위해 web.config를 변경하면 모든 요청 ([Authorize] 제외)에도 로그인하라는 메시지가 나타납니다. 특정 경로 또는 다른 인증에 대한 인증 범위를 좁힐 수 있습니까? –

+0

당신은 경로로 그것을 할 수 없습니다 ... 흠. 아마 필요한 web config에 deny = ... 속성이 있습니다. 내가 좀 볼게. –

+0

컨트롤러 (컨트롤러 대신)에 [Authorize] 속성을 넣을 수 있습니까? 아니면 MVC3 만입니까? –