[visual-studio-2010] IIS Express Windows 인증

VS2010에서 IIS Express를 사용하여 silverlight 응용 프로그램을 호스팅하려고합니다. 적절한 구성 설정을 수정할 수 있도록 applicationhost.config 파일을 수정했습니다. 내 web.config에 다음이 있습니다.

<location path="">
  <system.webServer>
    <security>
      <authentication>
        <anonymousAuthentication enabled="false" />
        <windowsAuthentication enabled="true" />
      </authentication>
    </security>
  </system.webServer>
</location>

인증되지 않았으며 도메인 서비스 호출이 사용자로서 null 레코드를 반환합니다. VS2010 SP1 베타를 설치 한 후이 기능을 사용할 수 있었지만 IIS Express에서만 작동하도록 노력하고 있습니다.

IIS Express에서 Windows 인증을 사용하려면 어떻게해야합니까? 누락 된 구성 설정이 있습니까?



답변

옵션 -1 :

\My Documents\IISExpress\config\applicationhost.config파일 편집 및 windowsAuthentication 활성화 :

<system.webServer>
...
  <security>
...
    <authentication>
      <windowsAuthentication enabled="true" />
    </authentication>
...
  </security>
...
</system.webServer>

옵션 -2 :

다음과 같이 \ My Documents \ IISExpress \ config \ applicationhost.config에서 windowsAuthentication 섹션을 잠금 해제하십시오.

<add name="WindowsAuthenticationModule" lockItem="false" />

필요한 인증 유형에 대한 재정의 설정을 ‘허용’으로 변경

<sectionGroup name="security">
    ...
    <sectionGroup name="system.webServer">
        ...
        <sectionGroup name="authentication">
            <section name="anonymousAuthentication" overrideModeDefault="Allow" />
            ...
            <section name="windowsAuthentication" overrideModeDefault="Allow" />
    </sectionGroup>
</sectionGroup>

응용 프로그램의 web.config에 다음을 추가하십시오.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
      <security>
        <authentication>
          <windowsAuthentication enabled="true" />
        </authentication>
      </security>
    </system.webServer>
</configuration>

아래 링크가 도움이 될 수 있습니다 :
http://learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/

VS 2010 SP1을 설치 한 후 Windows 인증이 작동하려면 옵션 1 + 2를 적용해야 할 수 있습니다. 또한 IIS Express applicationhost.config에서 익명 인증을 false로 설정해야 할 수도 있습니다.

<authentication>

            <anonymousAuthentication enabled="false" userName="" />

VS2015의 경우 IIS Express 응용 프로그램 호스트 구성 파일은 다음 위치에 있습니다.

$(solutionDir)\.vs\config\applicationhost.config

<UseGlobalApplicationHostFile>프로젝트 파일 의 옵션은 기본 또는 솔루션 별 구성 파일을 선택합니다.


답변

Visual Studio 2010 SP1 및 2012에는 꺾쇠 괄호를 편집 할 필요없이 IIS Express에 대한 지원이 추가되었습니다.

  1. 아직 웹 기반 프로젝트를 마우스 오른쪽 단추로 클릭하고 “IIS Express 사용 …”을 선택하십시오.
  2. 완료되면 웹 프로젝트를 선택하고을 눌러 F4속성 패널에 초점을 맞추십시오.
  3. “Windows 인증”속성을 사용으로 설정하고 “익명 인증”속성을 사용 안함으로 설정하십시오.

여기에 이미지 설명을 입력하십시오

이 솔루션이 vikomall의 옵션보다 우수하다고 생각합니다.

  • 옵션 # 1은 모든 IIS Express 사이트에 대한 전역 변경입니다.
  • 옵션 # 2는 web.config에 개발 부서를 남깁니다.
    • 또한 IIS 서버의 applicationHost.config에서 “잠금 해제”절차를 따르지 않으면 IIS 7.5에 배포 할 때 오류가 발생할 수 있습니다.

위의 UI 기반 솔루션은 IIS Express의 applicationHost.config에서 사이트 별 위치 요소를 사용하여 앱을 그대로 둡니다.

자세한 정보는 여기 (
http://msdn.microsoft.com/en-us/magazine/hh288080.aspx)


답변

booij boy의 답변을 바탕으로 제어판-> 프로그램-> 창 기능 켜기 또는–인터넷 정보 서비스-> 월드 와이드 웹 서비스-> 보안에서 “Windows 인증”기능을 확인했는지 확인하십시오.

또한 파이어 폭스 나 인터넷 익스플로러를 사용할 때 큰 차이가있는 것 같습니다. “Windows 인증”을 표시 한 후에는 IE에서만 작동합니다.


답변

IISExpress 개발 환경과 관련하여 이러한 훌륭한 답변과 악명 높은 “system.web/identity@impersonate”오류를 방지하기 위해 applicationhost.config 파일에 다음 설정이 있는지 확인하면됩니다. .

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
    </system.webServer>
</configuration>

이렇게하면 개발 및 테스트 중에 유연성이 향상되지만 프로덕션 환경에서이 설정을 사용하는 것이 의미를 이해해야합니다.

유용한 게시물 :


답변

IIS 관리자에서 사이트를 클릭하십시오. “콘텐츠보기”가 아닌 “기능보기”에 있어야합니다.

“기능보기”의 IIS 섹션에서 “인증”기능을 선택하고 클릭하십시오. 여기에서 Windows 인증을 활성화 할 수 있습니다. 이것은 web.config (…)의 설정에 의해 가능합니다 (스레드의 제안 중 하나에서 생각합니다).

그러나 web.config가 너무 많이 사용하고 싶지 않을 수도 있습니다. 그런 다음이 스레드는 너무 도움이되지 않으므로이 답변을 추가했습니다.


답변

이 답변은 1) Visual Studio 2015 및 2로 업그레이드하기 전에 사이트에서 Windows 인증을 사용하는 데 사용하고 사이트에 /login.aspx파일이없는 경우에도 사이트로드를 시도하는 경우 에 도움이 될 수 있습니다.

appSettings사이트의 섹션에 다음 두 줄을 추가하십시오 Web.config.

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>


답변

같은 메모-VS 2015에서 .vs \ config \ applicationhost.config가 보이지 않거나 사용할 수 없습니다.

기본적으로 .vs 폴더는 숨겨져 있습니다 (적어도 필자의 경우).

.vs 폴더를 찾을 수 없으면 아래 단계를 수행하십시오.

  1. 솔루션 폴더를 마우스 오른쪽 버튼으로 클릭하십시오
  2. ‘속성’을 선택하십시오
  3. 에서 Attributes섹션을 클릭합니다 Hidden(기본값은 선택 취소) 확인란을,
  4. ‘적용’버튼을 클릭하십시오
  5. ‘이 폴더, 하위 폴더 및 파일에 변경 사항 적용’옵션이 선택된 확인 창이 표시되면 ‘확인’을 누르십시오.

    를 제외하고 1 ~ 5 단계를 반복 step 3하십시오. 이번에 uncheck는 이전에 확인한 ‘숨김’옵션이 필요합니다 .

이제 .vs 폴더를 볼 수 있습니다.