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."
    

원인

이 문제는 SharePoint 서버에서 FIPS (정보 처리 표준)가 사용 하도록 설정 된 경우 발생 합니다.

문제 해결 방법

이 문제를 해결 하려면 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 (연방 정보 처리 표준) 140-2, 암호화 모듈에 대 한 보안 요구 사항을 준수 하지 않는 해시 값을 계산 하기 위해 여러 Windows 암호화 알고리즘을 사용 합니다. 이러한 알고리즘은 보안 목적으로 사용 되지 않습니다. 내부 처리에 사용 됩니다. 예를 들어 SharePoint Server에서는 MD5를 사용하여 고유 식별자로 사용되는 해시 값을 만듭니다. SharePoint Server에서는 이러한 알고리즘을 사용 하므로 암호화 및 해시에 FIPS 호환 알고리즘을 사용 해야 하는 Windows 보안 정책 설정을 프로그램에서 지원 하지 않습니다.

여전히 도움이 필요하세요? SharePoint 커뮤니티로 이동 합니다.