2012-10-26 83 views
1

我正在學習本教程:http://robbincremers.me/2012/02/22/using-windows-azure-access-control-service-to-provide -a-single-sign-on-experience-with-popular-identity-providers /#comment-469MVC4 Windows Azure ACS 500內部服務器錯誤驗證表單

使用本指南或其他,當在Web配置中取消註釋認證表單以使用下載的自定義html登錄表單時從Windows Azure訪問控制門戶,我得到一個500內部服務器錯誤。什麼可能是錯的?

它只是增加驗證表單

<location path="FederationMetadata"> 
    <system.web> 
     <customErrors mode="Off"/> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
    <system.web> 
    <httpRuntime requestValidationMode="2.0"/> 
    <!-- <authorization> 
     <deny users="?" /> 
    </authorization>--> 
    <authentication mode="None" /> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </assemblies> 
    </compilation> 
    <!--Commented out by FedUtil--> 
    <authentication mode="Forms"><forms loginUrl="~/Federation/Login.html" timeout="2880" /></authentication> 
    <pages> 
     <namespaces> 
     <add namespace="System.Web.Helpers" /> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.WebPages" /> 
     </namespaces> 
    </pages> 
    <httpModules> 
     <add name="WSFederationAuthenticationModule" type="Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     <add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
    </httpModules> 
    </system.web> 
+0

聽起來像一個'IIS'問題。 – kush

+0

哪裏是你的system.identityModel web.config的參數?此外,你可能想看看(這篇文章)[http://acloudyplace.com/2012/08/creating-a-custom-login-page-for-federated-authentication-with-windows-azure-acs/]其中有一個工作代碼示例供下載。您所需要的只是使用您的ACS命名空間來配置ACS中的相關信息。 – astaykov

+0

你應該接受對你有幫助的答案 –

回答

3

這是因爲認證要素被定義了兩次。 web.config中只能存在一個。第14行你有這樣的:

<authentication mode="None" /> 

在線21你有這樣的:

<authentication mode="Forms"><forms loginUrl="~/Federation/Login.html" timeout="2880" /></authentication> 

刪除或註釋掉這些行來解決該問題之一。

+0

非常感謝!這麼多時間工作,我沒有停下來看到它! – javimaravillas

+0

我現在就爲您的答案投票。抱歉耽擱了! – javimaravillas