증상

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

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

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

시나리오 1

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

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

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

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

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

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

            
시나리오 2

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

UnsafeControlException: 이 페이지의 웹 파트 또는 웹 양식 컨트롤을 표시하거나 가져올 수 없습니다. 형식을 찾을 수 없거나 안전한 것으로 등록되지 않았습니다.

            
시나리오 3

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

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

원인

고스트된 페이지는 파일 시스템에 저장됩니다. 서버 측 스크립트 및 안전하지 않은 컨트롤을 금지하여 보안 수준이 개선됩니다. 다음 조건이 true인 경우 고스트된 페이지가 렌더링되지 않을 수 있습니다.

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

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

시나리오 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"/>
    </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 요소의 특성 값 형식에 관한 자세한 내용은 방법: 컨트롤을 안전 컨트롤로 표시의 12단계 "Package Designer에서 안전한 컨트롤 표시" 섹션에 있는 표를 참조하세요.

시나리오 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 참가

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

의견 주셔서 감사합니다!

×