Я пытаюсь настроить веб-приложение NodeJS с IIS, чтобы сначала использовать проверку подлинности Windows, если не найдено , то имеют возможность использовать анонимную проверку подлинности для доступа к веб-сайту.
После этой статьи https://github.com/tjanczuk/iisnode/issues/87, я повысил переменные сервера IIS до X-iisnode- * Заголовки HTTP-запроса", как вы можете видеть в файле конфигурации ниже.
Проблема заключается в следующем: когда анонимная аутентификация отключена в IIS, все пользователи домена проходят аутентификацию правильно, но анонимные пользователи вообще не могут получить доступ к веб-сайту.
Когда я включаю анонимную аутентификацию, все пользователи получают анонимный доступ, а переменная auth_user всегда возвращается пустой.
Есть ли способ сообщить IIS, сначала включить проверку подлинности Windows, если пользователь домена не использует анонимную проверку подлинности?
Я запускаю приложение NodeJS на сервере Windows 2012, iisnode, IIS 8
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="app">
<match url="^/*" />
<action type="Rewrite" url="app.js" logRewrittenUrl="false" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="http://website/">
<add key="http://website/" value="192.168.10.1/" />
</rewriteMap>
</rewriteMaps>
</rewrite>
<iisnode promoteServerVars="AUTH_USER,AUTH_TYPE" />
</system.webServer>
</configuration>
Я также пытался использовать node-sspi для получения информации о пользователе, которая работала, когда я запускал приложение в автономном режиме.режиме, это не удалось, когда я пытался запустить его за IIS ... кто-нибудь пробовал это?