2011-10-18 258 views
1

我有一個asp.net網站,我需要同時使用Windows身份驗證和匿名身份驗證。Windows身份驗證和表單身份驗證

我需要Windows身份驗證,因爲我需要獲取登錄用戶的用戶名,而且該網站運行的Web服務必須匿名訪問。

如果我打開Windows身份驗證我可以得到用戶,這工作正常,但網站調用Web服務返回401錯誤。如果我也添加了匿名訪問,那麼使用Web服務的網站可以正常工作,但我無法再獲取登錄用戶的用戶名。

我該如何獲得最好的 - 即獲取用戶名,但不殺死我的web服務。

回答

1

您可以添加以下到您的目錄樹

<location path="path.to.web.service"> 
    <system.web> 
     <authorization> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
</location> 

內禁止訪問特定位置,同時保持主網站下的Windows身份驗證的控制。

請參見:http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx

+0

酷 - 在聽起來像一個完整的小白的風險,應path.to.web.service是什麼格式? – Ben

+0

目錄/ service.asmx或只是service.asmx爲你可能 – ChrisBint

+0

圖例 - 謝謝克里斯。 – Ben