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 Health Analyzer 경고를 검사 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."
    

원인

이 문제는 SharePoint 서버에서 FIPS(Federal Information Processing Standard)를 사용하도록 설정한 경우에 발생합니다.

해결 방법

이 문제를 resolve SharePoint Server가 설치된 컴퓨터에서 다음 단계를 수행하여 FIPS를 사용하지 않도록 설정합니다.

  1. 로컬 보안 정책 콘솔(secpol.msc)을 시작합니다. 보안 설정>로컬 정책>보안 옵션으로 이동합니다.
  2. 시스템 암호화 찾기: 암호화, 해시 및 서명 알고리즘 정책을 포함하여 FIPS 140 규격 암호화 알고리즘을 사용합니다.
  3. 정책을 사용하도록 설정한 경우 정책을 마우스 오른쪽 단추로 클릭하고 속성을 클릭하고 사용 안 함을 선택한 다음 확인을 클릭합니다.
  4. 레지스트리 편집기 열고 다음 레지스트리 하위 키를 찾습니다.
HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy  
  1. Enabled 값이 1이면 사용을 마우스 오른쪽 단추로 클릭하고 수정을 클릭하고 값 데이터에0을 입력한 다음 확인을 클릭합니다.
  2. 컴퓨터를 다시 시작합니다.

추가 정보

SharePoint Server는 암호화 모듈에 대한 보안 요구 사항인 FIPS(Federal Information Processing Standard) 140-2를 준수하지 않는 해시 값을 계산하기 위해 여러 Windows 암호화 알고리즘을 사용합니다. 이러한 알고리즘은 보안 목적으로 사용되지 않습니다. 내부 처리에 사용됩니다. 예를 들어 SharePoint Server에서는 MD5를 사용하여 고유 식별자로 사용되는 해시 값을 만듭니다. SharePoint Server는 이러한 알고리즘을 사용하므로 프로그램은 암호화 및 해시에 FIPS 규격 알고리즘이 필요한 Windows 보안 정책 설정을 지원하지 않습니다.

아직 해결되지 않았습니까? SharePoint 커뮤니티로 이동합니다.