我有一個使用Windows身份驗證的MVC4 Web應用程序,這是在web.config中我有
<authentication mode="Windows" />
這工作正常,一切正常。在單個控制器MVC4使用匿名身份驗證時,整個應用程序使用Windows Authenticaion
但是現在我需要一個控制器(實際上是一個Web API控制器),它應該可以從第三方組件中匿名訪問。問題是每次我想調用這個方法時,它都會請求用戶憑據。
我試着把AllowAnonymous
屬性放到控制器和方法上,但沒有成功。
[AllowAnonymous] public bool Get(string Called, string Calling, string CallID, int direction)
我查了兩個IIS Express和IIS 8啓用匿名身份驗證和Windows身份驗證。
看來,Windows身份驗證先於任何其他身份驗證,不能被覆蓋。
有沒有辦法做到這一點?
我不認爲這會爲我工作。此設置被' '覆蓋,網站仍然需要用戶名和密碼才能訪問。除此之外,我正在使用MVC,而web.config中的這些配置設置可能並不總是有助於路由。 –
2013-03-19 16:37:01
它適合我。我也在MVC3中使用'''。我沒有設置任何特殊的路由規則。您可能需要弄亂位置路徑。 –
2013-03-19 17:36:22
第二次嘗試 - 它的作品。看起來'AllowAnonymous'屬性對於Windows身份驗證來說是不夠的,'location'標籤是最好的。感謝您指點什麼可能是問題的正確解決方案! – 2013-03-20 07:51:40