2013-03-22 33 views
0

我已經在IIS 7.5託管asp.net MVC 4 + WebAPI與Windows身份驗證。當我從MVC4視圖調用WebAPI時,它會給我401未經授權的錯誤。但它從我的本地主機完美地工作。asp.net MVC 4 + WebAPI託管在IIS 7.5與Windows身份驗證提供401未經授權的錯誤

我已經從我的AuthenticationModule類中設置了兩個地方的主體(Thread.CurrentPrincipal & HttpContext.Current.User)。

我嘗試使用System.Web.HTTP AuthorizeAttribute。

當我用Jquery控制檯調試時,我可以看到上下文主體爲空。

讓我知道以下內容。

  1. IIS託管配置?
  2. 如何設計WebAPI驗證/授權來自視圖的呼叫?
+0

你有沒有實際安裝的Windows身份驗證角色服務IIS 7.5?默認安裝不包含Windows身份驗證角色服務。看到這裏:http://www.iis.net/configreference/system.webserver/security/authentication/windowsauthentication – 2013-03-22 13:40:11

回答

0

什麼不對我的處理程序註冊;我忘了在system.webServer下添加它;

實際配置:

<configuration> 
      <system.web> 
       <httpModules> 
        <add .........../> 
       </httpModules> 
      </system.web> 
     </configuration 

新增配置:

<configuration> 
    <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true"> 
      <add .........../> 
     </modules> 
    </system.webServer> 
</configuration 
0
Could you show me how are you calling the web api? If you are calling it with an 
httpclient you should provide a handler. I show you below: 

     var handler = new HttpClientHandler() 
     { 
      UseDefaultCredentials = true 
     }; 

     var client = new HttpClient(handler); 
相關問題