IFD部署一段時間後,大概一年,突然出現從IFD登入頁面登入後,再次彈出要求登入的框,多次輸入使用者名密碼仍然無效,檢視日志:
><TraceRecord xmlns="http://schemas.microsoft.com/2009/10/IdentityModel/TraceRecord"Severity="Error"><Description>已處理的異常。</Description><AppDomain>/LM/W3SVC/2/ROOT-1-130282292932840932</AppDomain><Exception><ExceptionType>System.IdentityModel.Tokens.SecurityTokenException,System.IdentityModel, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089</ExceptionType><Message>ID4175:IssuerNameRegistry 未識别安全令牌的頒發者。若要接受此頒發者的安全令牌,請配置 IssuerNameRegistry 以傳回此頒發者的有效名稱。</Message><StackTrace> 在Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler.CreateClaims(SamlSecurityTokensamlSecurityToken)
> 在Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler.ValidateToken(SecurityTokentoken)
> 在Microsoft.IdentityModel.Tokens.SecurityTokenHandlerCollection.ValidateToken(SecurityTokentoken)
> 在Microsoft.IdentityModel.Web.TokenReceiver.AuthenticateToken(SecurityTokentoken, Boolean ensureBearerToken, String endpointUri)
> 在 Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestrequest)
> 在Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.OnAuthenticateRequest(Objectsender, EventArgs args)
> 在 Microsoft.Crm.Authentication.Claims.CrmFederatedAuthenticationModule.OnAuthenticateRequest(Objectsender, EventArgs args)
> 在System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
> 在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)
> 在System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(Exception error)
> 在System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContextcontext, AsyncCallback cb, Object extraData)
> 在System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
> 在System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
></StackTrace><ExceptionString>System.IdentityModel.Tokens.SecurityTokenException:ID4175: IssuerNameRegistry未識别安全令牌的頒發者。若要接受此頒發者的安全令牌,請配置 IssuerNameRegistry以傳回此頒發者的有效名稱。</ExceptionString></Exception></TraceRecord>
根據日志内容能夠判斷出問題處在了CA憑證上,于是打開ADFS2.0的部署管理器:

之前解密和簽名的令牌應該是各隻有一個的,怎麼都多出來一個了!再去網上找了找相關資料,沒什麼太多相關的資料,但有個國外的blog似乎說到了要點:原來的解密和簽名的令牌在即将過期時,系統會自動續一個!那麼這就是多出來的原因了!
于是按照以下方法操作了一遍:
1.更新所有FederationMetadata URL,即聯合中繼資料的URL
2. iisrest
3.重新開機ADFS服務
最後,再次登入成功!
http://seaweedchina.com