問題:每次我啓動Internet Explorer的一個新的會話,Web應用程序會提示我爲我的Active Directory用戶名和密碼,而不是自動檢索該信息來自當前登錄的Active Directory配置文件。ASP.NET VB.NET - 如何設置單點登錄SSO使用IIS7的Active Directory
如何設置單點登錄的Web配置或default.aspx.vb文件代碼隱藏,以便它不提示我要我的Active Directory憑據?
下面是從我的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 code from MSDN,但我不知道我是否應該創建一個登錄令牌的方法和我不使用一個數據庫登錄因爲我使用Windows身份驗證w/Active Directory。是否有可能在web.config上添加一些內容來完成此操作?
感謝您的期待!
感謝您的回覆!在IE9下的安全性,自定義級別,用戶身份驗證,登錄:我只有在Intranet區域進行自動登錄,並將其更改爲使用當前用戶名和密碼自動登錄。這確實沒有用戶名和密碼提示將我登錄到網站。改變這會導致任何安全問題嗎? – 2011-05-23 17:59:10
您應該恢復該更改並將自動登錄限制在Intranet區域。完成之後,將應用程序的URL添加到Intranet區域。這將保留您的安全設置,同時將Intranet區域設置應用於我們的應用程序。我還會研究爲什麼該服務器未被檢測爲本地Intranet區域的一部分? – 2011-05-23 18:35:25
該網站不會加載爲內部網站點,而是作爲一個互聯網站點加載,這解釋了爲什麼它不進行自動認證。硬件支持人員說這是因爲該網站使用Web服務。 Web服務器人員會將該站點添加爲訪問acomp邀請的用戶組的可信站點和集成安全性,以便無需通過組策略對象更新手動更改每個用戶的設置。 – 2011-05-23 19:35:34