2011-11-18 4 views
13
나는 지역이 작업을 진행하기이 블로그를 따르도록 시도 된

에서 여러 인증 : 블로그 게시물에서ASP.NET MVC 3 지역과의 web.config

http://mstechkb.blogspot.com/2010/10/areas-in-aspnet-mvc-20.html

, 그것은 인증을 할 수있는 능력을 식별 내가 오류 다음 얻을 비주얼 스튜디오 2010에서 새 프로젝트에이를 만들려고 할 때

<location path="Area1"> 
    <system.web> 
    <authentication mode="Windows" /> 
    <authorization> 
    <allow roles="role1,role2"/> 
    <deny users="*"/> 
    </authorization> 
</system.web> 
</location> 

그러나, 나는 실행할 때 :

예는, 지역에 따라 설정

allowDefinition = 'MachineToApplication'으로 등록 된 섹션을 응용 프로그램 수준 이상으로 사용하면 오류가 발생합니다. 이 오류는 가상 디렉터리가 IIS에서 응용 프로그램으로 구성되지 않아 발생할 수 있습니다.

내가 볼 수있는 것은 최상위 web.config에없는 한 인증 요소를 지정할 수 없기 때문입니다.

블로그 게시물에 나온 내용을 수행 할 수 있습니까? web.config의 Location 요소 안에 Authentication 요소가있는 영역을 가질 수 있습니까?

+0

안녕하세요. 작동하도록하는 방법을 찾았습니까? 대답을 게시 하시겠습니까? 감사합니다 –

+0

블로그가 제안한 것처럼 나는 그것을 얻지 못했습니다. 제 임시 해결책은 웹 응용 프로그램을 인증 유형별로 두 개의 프로젝트로 나눠서 수행하는 것입니다. 비록 내가 공통 프로젝트로 할 수있는만큼 많이 움직 였지만, 중복 된 코드와 구성으로 끝난 이상적인 것은 아닙니다. 프로젝트는 곧 다른 이유로 포기되었으므로이 문제를 다시 검토하지 않았습니다. – eyesnz

답변

-2

ASP.NET MVC에 대해 알게 된 내용은 라우팅 시스템이 작동하는 방식을 고려할 때 더 안전하고 적절하기 때문에 [Authorisation] 특성을 개별 컨트롤러에 적용하여 권한 부여 규칙을 설정하는 것이 좋습니다.

+0

이것은 인증 메커니즘을 변경하지 않고 권한 부여 만 변경합니다. 즉,이 작업/컨트롤러에는 이러한 역할/사용자에 대해 인증 된 액세스가 필요합니다. –