2014-05-23 51 views
1

我正在爲VS-2013中的ASP.NET MVC4應用程序開發測試應用程序,以便使用Azure活動目錄進行單點登錄。
我能夠獲得登錄頁面,但登錄後我得到「AudienceRestrictionCondition無效,因爲AudienceUris Audience中沒有指定的受衆」Dot淨誤差。AudienceRestrictionCondition無效,因爲AudienceUris中不存在指定的Audience

在此先感謝您的答覆。

System.IdentityModel.Tokens.SamlSecurityTokenHandler.ValidateToken(SecurityToken token) +996 
     System.IdentityModel.Tokens.SecurityTokenHandlerCollection.ValidateToken(SecurityToken token) +73 
     System.IdentityModel.Services.TokenReceiver.AuthenticateToken(SecurityToken token, Boolean ensureBearerToken, String endpointUri) +120 
     System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase request) +493 
     System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +364 
     System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136 
     System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 

回答

3

如果我理解你的測試場景中,你已經創建了一個測試應用程序,且您嘗試使用Azure的活動目錄進行身份驗證。如果是這種情況,您收到有關「AudienceRestrictionCondition」和「AudienceUris」的錯誤消息,表明您的測試應用程序的配置文件在Audience Uris部分下缺少您的網站,或者該值存在拼寫錯誤。它應該看起來像這樣:

<configuration> 
    <system.identityModel> 
     <identityConfiguration> 
      <audienceUris> 
      <add value="http://YourSiteHere/" /> 
      </audienceUris> 
     </identityConfiguration> 
    </system.identityModel> 
</configuration> 

希望有幫助。

+0

我以前的假設是錯誤的。這個值是否必須用小寫字母表示?因爲我在名爲「Web」的網站中有一個目錄,但是當我將值設爲「http:// mySite/Web」時,它失敗了。當我將這個值改爲所有小寫字母時,它就起作用了!那麼它必須是所有小寫字母嗎? –

+0

@AmoghNatu如果你會發表你的評論作爲一個問題,並讓我知道,我會很樂意迴應更詳細。在評論的字符限制中填寫詳細的答案可能很困難。 否則,簡短的回答是:我不知道對audienceUri值的個案限制。但是,audienceUri值確實需要匹配配置中其他點的任何對應值。希望有所幫助。 – CaPorter

+0

我明白。對不起。我在這裏發佈了這個問題。 http://stackoverflow.com/q/27805093/2377928 –

0

我有同樣的錯誤,並且當我將觀衆網址 從https://siteurl更改爲https:siteurl/。即添加斜槓(/)它的工作。

相關問題