ASP.NET VB.NET - Как настроить единый вход с помощью единого входа IIS7 Active Directory - PullRequest
0 голосов
/ 20 мая 2011

Проблема: каждый раз, когда я запускаю новый сеанс Internet Explorer, веб-приложение запрашивает у меня имя пользователя и пароль Active Directory вместо автоматического извлечения этой информации из текущего зарегистрированного в Active Directory профиля.

Как мне настроить единый вход в веб-конфигурации или в файле code-behind файла default.aspx.vb, чтобы он не запрашивал учетные данные моего активного каталога?

Вот код из моего файла web.config:

  <authentication mode="Windows"/>
  <identity impersonate="true"/> 

   <authorization>

    <allow users="alg\bmccarthy, alg\phoward" />               
    <allow roles="alg\ACOMP_USER_ADMIN" />
    <allow roles="alg\ACOMP_user_AMG" />
    <allow roles="alg\ACOMP_user_BIG" />
    <allow roles="alg\ACOMP_user_NIS" />
    <allow roles="alg\ACOMP_user_GLA" />
    <allow roles="alg\ACOMP_user_PIP" />
    <allow roles="alg\ACOMP_user_PSM" />
    <allow roles="alg\ACOMP_user_PAM" />
    <allow roles="alg\ACOMP_user_ANN" />
    <allow roles="alg\ACOMP_user_AAM" />
    <allow roles="alg\ACOMP_user_MWM" /> 
    <allow roles="alg\ACOMP_user_GIM" />
    <deny users="*" />      
    </authorization>  

 </system.web>

 <system.webServer>
 <modules runAllManagedModulesForAllRequests="true"/>
 <validation validateIntegratedModeConfiguration="false" />
 <defaultDocument enabled="true">
      <files>
          <clear />
          <add value="Default.aspx" />
      </files>
  </defaultDocument>
  </system.webServer>

  <system.serviceModel>
  <bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_IAcompService1" closeTimeout="00:01:00"
      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
      maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
      messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
      useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Windows" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
    </basicHttpBinding>
    </bindings>
    <client>

    <endpoint address="http://acompwebservice.myagencyservices.com/aCompService.svc" binding="basicHttpBinding"
    bindingConfiguration="BasicHttpBinding_IAcompService1" contract="aComp_ServiceReference.IAcompService"
    name="BasicHttpBinding_IAcompService1" />
    </client>
    </system.serviceModel>

Я искал какой-то SSO-код из MSDN , но я не был уверен, должен ли я создать метод токена для входа, и я не использую базу данных для входа в систему, потому что я использую аутентификацию Windows w Active Directory. Можно ли добавить что-то на web.config для этого?

Спасибо за внимание!

1 Ответ

2 голосов
/ 23 мая 2011

Проверено ли, что в IE включена опция «Включить встроенную аутентификацию Windows»?

В IE9 выберите «Сервис», «Свойства обозревателя», «Безопасность», «Пользовательский уровень», «Аутентификация пользователя», «Вход в систему».

Internet Options

Если вы выбрали «Автоматический вход только в зоне интрасети», и он все еще не работает, это означает, что веб-сайт не отображается как веб-сайт интрасети.Вы можете изменить веб-сайт, который будет отображаться как веб-сайт в Интернете, на веб-сайт интрасети, чтобы получить автоматический вход в систему для работы с этим параметром.

Кроме того, вы можете изменить вход в систему на «Автоматический вход с текущими именем пользователя и паролем», что потенциально может открыть дыру в безопасности.

Кроме того, вы можете настроить объект групповой политики и добавить веб-сайт в качестве надежного сайта, который будет выполнять автоматическую аутентификацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...