登录网站时空白SharePoint屏幕

症状

登录管理中心网站外的其他网站时SharePoint空白屏幕。 此外,您遇到以下问题:

  • 发生错误时,错误消息不包含请求的相关 ID。

  • 以下错误消息记录在统一日志记录系统 (ULS) 日志中:

    Foundation General 8nca Medium Application error when access /, Error=Exception of type 'System.ArgumentException' was thrown. Parameter name: encodedValue at Microsoft..Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(String encodedValue) at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(IClaimsIdentity claimsIdentity, String encodedIdentityClaimSuffix) at Microsoft..Administration.Claims.SPClaimProviderManager.GetProviderUserKey(String encodedIdentityClaimSuffix) at Microsoft.SharePoint.ApplicationRuntime.SPHeaderManager.AddIsapiHeaders(HttpContext context, String encodedUrl, NameValueCollection headers) at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PreRequestExecuteAppHandler(Object oSender, EventArgs ea) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)       
    
  • 检查运行状况SharePoint警报时,它表示所有SharePoint服务器都未颁发令牌。 但是,您可以在 STS (页面中) 服务。

  • 使用以下脚本检查 STS 是否生成令牌:

    $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local  
    $webServiceCollection = new-object Microsoft.SharePoint.Administration.SPWebServiceCollection($farm)  
    foreach ($service in $webServiceCollection)  
    {  
       foreach ($webApp in $service.WebApplications)  
       {  
          $firstWebApp = $webApp  
          #Get the context  
          $context = $firstWebApp.GetResponseUri([Microsoft.SharePoint.Administration.SPUrlZone]::Default)  
          Write-Host "Web Application Context:" $context.AbsoluteUri  
          #Call the token generator function  
          $token = [Microsoft.SharePoint.SPSecurityContext]::SecurityTokenForContext($context)  
          Write-Host "Token:" $token.InternalTokenReference  
          Write-Host "**************************"  
       }  
    }  
    

    您将收到以下错误消息:

    Token:
    **************************  
    Web Application Context: [http://Contoso.com/](http://contoso.com/)  
    Exception calling "SecurityTokenForContext" with "1" argument(s): "The serverwas unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults(either from ServiceBehaviorAttribute or from the< serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs."
    

原因

如果在服务器中启用了联邦信息处理标准 (FIPS) ,则会发生SharePoint问题。

解决方案

若要解决此问题,请通过执行以下步骤在已安装 FIPS 服务器的计算机上SharePoint FIPS:

  1. 启动 secpol.msc (本地安全策略) 。 转到"安全设置 > 本地策略 > ""安全选项"。
  2. 找到 系统加密:使用 FIPS 140 兼容的加密算法,包括加密、哈希和签名算法 策略。
  3. 如果已启用该策略,请右键单击该策略,单击"属性",选择" 禁用",然后单击"确定 "。
  4. 打开注册表编辑器并找到以下注册表子项:
HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy  
  1. 如果 Enabled 的值为 1,则右键单击"已启用",单击" 修改",在" 数据"中键入 0, 然后单击"确定 "。
  2. 重启计算机。

更多信息

SharePoint服务器使用多种 Windows 加密算法计算不符合美国联邦信息处理标准 (FIPS) 140-2 加密模块的安全要求的哈希值。 这些算法不用于安全目的。 它们用于内部处理。 For example, SharePoint Server uses MD5 to create hash values that are used as unique identifiers. 由于 SharePoint 服务器使用这些算法,因此程序不支持要求使用符合 FIPS Windows算法进行加密和哈希运算的 Windows 安全策略设置。

仍然需要帮助? 请转到 SharePoint 社区