IIS Express Windows Authentication

Próbuję używać IIS Express z VS2010 do hostowania aplikacji silverlight. Zmodyfikowałem swój applicationhost.plik konfiguracyjny pozwalający na modyfikację odpowiednich ustawień konfiguracyjnych. Mam następujące w mojej sieci.config:

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

Nie jestem uwierzytelniony, a moje wywołanie usługi domeny zwraca rekord null jako użytkownik. Udało mi się to uruchomić po zainstalowaniu VS2010 SP1 BETA, ale staram się, aby to działało tylko z IIS Express.

Jak włączyć Uwierzytelnianie systemu Windows do pracy z usługą IIS Express. Czy brakuje mi jakiegoś ustawienia konfiguracyjnego?

8 answers

Opcja-1:

Edytuj \My Documents\IISExpress\config\applicationhost.config plik i włącz windowsAuthentication, czyli:

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

Opcja-2:

Odblokuj sekcję windowsAuthentication w \My Documents\IISExpress\config\applicationhost.config jak następuje

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

Zmień ustawienia nadpisywania dla wymaganych typów uwierzytelniania, aby "zezwolić"

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

Dodaj następujące w aplikacji internetowej.config

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

Poniżej link może pomoc: http://learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/

Po zainstalowaniu VS 2010 SP1 zastosowanie opcji 1 + 2 może być wymagane do uruchomienia uwierzytelniania systemu windows. Ponadto może być konieczne ustawienie uwierzytelniania anonimowego na wartość false w usłudze IIS Express applicationhost.config:

<authentication>

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

W przypadku VS2015 plik konfiguracyjny IIS Express applicationhost może znajdować się tutaj:

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

I opcja <UseGlobalApplicationHostFile> w pliku projektu wybiera domyślny lub specyficzny dla Rozwiązania Plik konfiguracyjny.

 267
Author: vikomall,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-17 15:44:19

Visual Studio 2010 SP1 i 2012 dodano obsługę IIS Express eliminując potrzebę edycji nawiasów kątowych.

  1. Jeśli jeszcze tego nie zrobiłeś, kliknij prawym przyciskiem myszy projekt internetowy i wybierz " Użyj IIS Express...".
  2. Po zakończeniu wybierz projekt sieci web i naciśnij F4 , aby skupić się na panelu Właściwości.
  3. ustaw właściwość "uwierzytelnianie systemu Windows" na Włączone, a właściwość "uwierzytelnianie anonimowe" na Wyłączone.

Tutaj wpisz opis obrazka

I believe this rozwiązanie jest lepsze od opcji vikomall.

  • Opcja # 1 jest globalną zmianą dla wszystkich witryn IIS Express.
  • Opcja # 2 pozostawia cruft rozwoju w sieci.config.
    • Co więcej, prawdopodobnie będzie to prowadzić do błędu po wdrożeniu do IIS 7.5, chyba że zastosujesz procedurę "odblokowania" na applicationHost serwera IIS.config.

Powyższe rozwiązanie oparte na interfejsie użytkownika wykorzystuje elementy lokalizacji specyficzne dla miejsca w applicationHost usługi IIS Express.Config aplikacja nietknięta.

Więcej informacji tutaj: http://msdn.microsoft.com/en-us/magazine/hh288080.aspx

 395
Author: roryWoods,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-19 15:22:25

Bazując na odpowiedzi booij boy, sprawdź, czy zaznaczyłeś funkcję "uwierzytelnianie systemu windows" w Panel sterowania - > Programy -> Włączanie lub wyłączanie funkcji systemu windows -> Internet Information Services -> World Wide Web Services - > Security

Wydaje się również, że istnieje duża różnica podczas korzystania z Firefoksa lub internet Explorera. Po włączeniu "uwierzytelniania windows" działa u mnie ale tylko w IE.

 9
Author: bees73,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-21 09:45:27

Oprócz tych wspaniałych odpowiedzi, w kontekście środowiska programistycznego IISExpress, i w celu udaremnienia niesławnego " systemu.błąd web / identity@impersonate", możesz po prostu upewnić się, że poniższe ustawienie jest na miejscu w Twoim applicationhost.plik konfiguracyjny.

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

Pozwoli to na większą elastyczność podczas opracowywania i testowania, ale zanim to zrobisz, upewnij się, że rozumiesz konsekwencje używania tego ustawienia w środowisku produkcyjnym.

Pomocny Posty:

 5
Author: Chiramisu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-20 18:08:57

W Menedżerze IIS kliknij na swoją stronę. Musisz być "w widoku funkcji" (zamiast "widoku zawartości")

W sekcji IIS "widok funkcji" Wybierz tak zwaną funkcję " uwierzytelnianie" / align = "left" / Tutaj możesz włączyć uwierzytelnianie systemu Windows. Jest to również możliwe (myślę, że w jednej z sugestii w wątku) przez ustawienie w sieci.config ( ...)

Ale może masz sieć.config nie chcesz zbyt dużo scrue wokół z. Then this thread wouldnt be za dużo pomocy, dlatego dodałem tę odpowiedź.

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-27 11:32:44

Ta odpowiedź może pomóc, jeśli: 1) witryna działała z uwierzytelnianiem Windows przed uaktualnieniem do Visual Studio 2015 i 2) witryna próbuje załadować /login.aspx (nawet jeśli nie ma takiego pliku w witrynie).

Dodaj następujące dwie linie do appSettings sekcji Web.config Twojej witryny.

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
 0
Author: Theophilus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-22 17:29:41

Na tej samej nucie-VS 2015, .vs \ config \ applicationhost.konfiguracja niewidoczna lub niedostępna.

Domyślnie .folder vs jest ukryty (przynajmniej w moim przypadku).

Jeśli nie jesteś w stanie znaleźć .vs folder, wykonaj poniższe kroki.

  1. kliknij prawym przyciskiem myszy folder rozwiązania
  2. wybierz "Właściwości"
  3. w sekcji Attributes Kliknij Hidden pole wyboru (domyślnie niezaznaczone),
  4. następnie kliknij przycisk "Zastosuj"
  5. pojawi się okno potwierdzenia ' Zastosuj zmiany w tym folderze, podfolderze i plikach 'opcja zaznaczona, naciśnij 'Ok'.

    Powtórz kroki od 1 do 5, z wyjątkiem step 3, Tym razem musisz uncheck zaznaczyć opcję "Hidden", którą wcześniej zaznaczyłeś.

Teraz powinien być w stanie zobaczyć .vs folder.

 0
Author: SatheeshN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-13 21:15:04

Po zrobieniu wszystkiego w powyższych odpowiedziach, zorientowałem się, że nie prowadzę Visual Studio jako Admin. Po uruchomieniu jako Admin, problem rozwiązany.

 0
Author: Alisson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-19 14:16:50