Исключение System.ArgumentException при выходе из веб-приложения

Симптомы

При выходе из веб-приложения SharePoint 2013, настроенного несколькими поставщиками проверки подлинности (например, поставщиками проверки подлинности утверждений Windows и утверждений FBA), на странице исключений отображается следующее сообщение об исключении из стека вызовов:

Exception of type 'System.ArgumentException' was thrown. Parameter name: encodedValue at  
Microsoft.SharePoint.Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(System.String)  
Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(Microsoft.IdentityModel.Claims.IClaimsIdentity, System.String)  
Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(System.String)  
Microsoft.SharePoint.Utilities.SPUtility.GetFullUserKeyFromLoginName(System.String)  
Microsoft.SharePoint.ApplicationRuntime.SPHeaderManager.AddIsapiHeaders(System.Web.HttpContext, System.String, System.Collections.Specialized.NameValueCollection)  
Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PreRequestExecuteAppHandler(System.Object, System.EventArgs)  

Причина

Эта проблема возникает из-за того, что в кэше IIS остается недопустимый контекст пользователя.

Разрешение

Чтобы устранить эту проблему, замените ссылку Выход ссылкой Вход от имени другого пользователя для всех веб-серверов переднего плана в ферме SharePoint, выполнив следующие действия.

  1. В следующей папке откройте файл welcome.ascx в текстовом редакторе, например в блокноте:

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES
    
  2. Замените старый текст новым текстом следующим образом:
    Старый текст

    <SharePoint:MenuItemTemplate runat="server" id="ID_Logout"  
    Text="<%$Resources:wss,personalactions_logout%>"  
    Description="<%$Resources:wss,personalactions_logoutdescription%>"  
    MenuGroupId="100"  
    Sequence="400"  
    UseShortId="true"  
    />  
    

    Новый текст

    <SharePoint:MenuItemTemplate runat="server" ID="ID_LoginAsDifferentUser"  
    Text="<%$Resources:wss,personalactions_loginasdifferentuser%>"   
    Description="<%$Resources:wss,personalactions_loginasdifferentuserdescription%>"   
    MenuGroupId="100"   
    Sequence="400"   
    UseShortId="true"   
    />  
    

    Примечание Атрибуты текста и описания изменяются для имитации кнопки выхода.

Дополнительная информация

Требуется дополнительная помощь? Посетите сайт сообщества SharePoint.