SharePoint의 고스트된 페이지가 렌더링되지 않음

현상

다음 업데이트 중 하나를 설치한 후 Microsoft SharePoint의 일부 고스트된 페이지가 렌더링되지 않습니다.

예를 들어 MIM(Microsoft Identity Manager) 포털 페이지와 SharePoint 솔루션을 통해 배포된 일부 사용자 지정 페이지가 렌더링되지 않습니다.

또한 다음 시나리오 중 하나 이상이 발생할 수 있습니다.

시나리오 1

차단된 고스트된 페이지에는 다음 오류 메시지 중 하나가 표시됩니다. 

  • 이 페이지에서는 'autoeventwireup' 속성이 허용되지 않습니다.

  • 이 페이지에서는 'enablesessionstate' 속성이 허용되지 않습니다.

  • 이 파일에는 코드 블록이 허용되지 않습니다.

  • 이 페이지에서는 'OnSelectedIndexChanged' 이벤트 처리기가 허용되지 않습니다.

    참고 마지막 오류 메시지의 이벤트는 "OnClick"과 같은 다른 이벤트일 수도 있습니다.


시나리오 2

차단된 고스트된 페이지에는 다음 오류 메시지가 표시됩니다.

UnsafeControlException: 이 페이지의 웹 파트 또는 웹 양식 컨트롤은 표시하거나 가져올 수 없습니다. 해당 종류를 찾을 수 없거나 안전하다고 등록되지 않았습니다.


시나리오 3

차단된 고스트된 페이지에는 다음 오류 메시지가 표시됩니다.

이 페이지에서는 '/_layouts/somedirectory/affectedusercontrol.ascx' 참조 파일이 허용되지 않습니다.

원인

고스트된 페이지는 파일 시스템에 저장됩니다. 서버측 스크립트 및 안전하지 않은 컨트롤을 금지하여 보안 수준을 강화합니다. 다음 조건에 해당하는 경우 고스트된 페이지가 렌더링되지 않도록 차단될 수 있습니다.

  • 고스트된 페이지에는 인라인 코드 또는 서버측 스크립트가 포함되어 있습니다.

  • 코드 숨김 유형 또는 웹 파트 유형이 안전한 것으로 등록되지 않았습니다.

시나리오 1에 대한 해결 방법

이 문제를 해결하려면 VirtualPath 속성이 있는 새 PageParserPath 요소를 configuration/SharePoint/SafeMode/PageParserPaths 요소 아래의 Web.config 파일에 추가합니다.

예를 들어 다음과 같은 오류 메시지가 나타납니다.

"이 페이지에서는 'autoeventwireup' 속성이 허용되지 않습니다."

이 경우 다음과 같이 PageParserPath 요소를 추가할 수 있습니다.

<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
    <PageParserPaths>
        <PageParserPath VirtualPath="/<relativepath>/page.aspx" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
    </PageParserPaths>
</SafeMode>


동일한 가상 디렉터리의 모든 페이지를 차단 해제해야 하는 경우 다음과 같이 PageParserPath 요소를 사용할 수 있습니다.

<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
    <PageParserPaths>
        <PageParserPath VirtualPath="/<relativepath>/*" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
    </PageParserPaths>
</SafeMode>

참고

  • VirtualPath는 차단된 페이지의 경로입니다.

  • VirtualPath는 고스트되어 있으며 어떠한 사용자에 의해서도 언고스트될 수 없는 페이지 또는 이러한 페이지가 포함된 디렉터리를 참조해야 합니다.

  • VirtualPath는 다른 페이지를 참조하지 않는 페이지 또는 언고스트될 수 없는 마스터 페이지 또는 이러한 페이지나 마스터 페이지를 포함하지 않는 디렉터리를 참조해야 합니다.

  • DirectFileDependencies는 허용되는 직접 파일 종속성 수를 나타냅니다. "허용되는 직접 파일 종속성 수가 제한을 초과했습니다"와 같은 오류 메시지가 나타나면 이 값을 변경합니다.

시나리오 2에 대한 해결 방법

이 문제를 해결하려면 SafeControls 요소(솔루션)에 설명된 대로 주어진 형식, 네임스페이스, 어셈블리의 강력한 이름에 대한 새 SafeControls 요소를 configuration/SharePoint/SafeControls 요소 아래의 Web.config 파일에 추가합니다. 그런 다음 안전 속성을 TRUE로 설정합니다.

 SafeControls 요소의 속성 값 형식에 관한 더 자세한 정보는  방법: 컨트롤을 안전 컨트롤로 표시 섹션의 "Package Designer에서 Safe Controls 만들기" 12단계의 표를 참조하세요.

시나리오 3에 대한 해결 방법

이 문제를 해결하려면 Src 속성을 사용하는 새 SafeControls 요소를 configuration/SharePoint/SafeControls 요소 아래의 Web.config 파일에 추가합니다.

예를 들어, 다음과 같은 오류 메시지가 나타납니다.

이 페이지에서는 '/_layouts/somedirectory/affectedusercontrol.ascx' 참조 파일이 허용되지 읺습니다.

이 경우 다음 예와 같이 SafeControls 요소를 추가할 수 있습니다.

< SafeControls>
    <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>

< SafeControls> <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /> </SafeControls>

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×