다음을 통해 공유


SharePoint Server에서 웹 파트 구성 및 배포

적용 대상:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

SharePoint Server에는 사용자가 제품을 설치한 후에 페이지에 추가할 수 있는 웹 파트 집합이 포함되어 있습니다. 조직에 사용자 지정 웹 파트가 필요하면 개발자는 사용자 지정 ASP.NET 웹 파트를 작성하고 사용자에게 설치하도록 요청할 수 있습니다. 전체 신뢰 환경에 웹 파트를 배포하려면 이 프로세스 중에 일반적으로 코드의 테스트와 승인이 필요합니다. Visual Studio를 사용하는 개발자는 프로젝트를 마우스 오른쪽 단추로 클릭하고 배포를 선택하여 SharePoint Server에 웹 파트를 배포할 수 있습니다. 웹 파트의 대상은 개발자가 Visual Studio에서 프로젝트를 만들 때 SharePoint 서버로 설정한 신뢰 수준에 따라 결정됩니다.

SharePoint Server은 Microsoft .NET Framework에 제공되는 일부 구성 관리 설정을 사용합니다. 이러한 설정 일부는 XML 구성 파일에 저장되고 서버 관리자가 웹 응용 프로그램과 해당 환경을 관리하는 데 사용하는 광범위한 설정을 제공합니다. ASP.NET 구성 파일에 대한 자세한 내용은 "ASP.NET 응용 프로그램 및 웹 서비스 보안 유지"에서 Machine.Config 및 Web.Config 설명을 참조하세요.

구성 옵션

ASP.NET 웹 파트는 SharePoint Server bin 디렉터리 또는 GAC(전역 어셈블리 캐시)에 배포됩니다.

  • Bin 디렉터리 웹 응용 프로그램 루트 디렉터리의 Bin 폴더에 저장됩니다.

    이 위치의 장점:

    부분 신뢰 위치입니다. 기본적으로 이 디렉터리에서 실행되는 코드의 코드 액세스 보안 권한 수준은 낮습니다. 웹 파트가 여러 응용 프로그램에 액세스해야 하거나 기본 사용 권한보다 높은 액세스 권한을 필요로 하는 경우 관리자는 웹 파트가 제대로 작동할 수 있도록 웹 파트에 부여되는 사용 권한을 명시적으로 높여야 합니다. 관리자는 알려진 필수 최소 코드 액세스 보안 권한 집합을 사용하여 해당 어셈블리를 Bin 디렉터리에서 실행하는 것을 선호할 수 있습니다.

    이 위치의 단점:

    웹 파트를 모든 위치에서 실행하려면 MinRole 프런트 엔드 및 응용 프로그램 서버 역할이 설치된 각 SharePoint Server 2016 서버 및 웹 및 응용 프로그램 역할이 설치된 각 SharePoint 2013 서버의 Bin 디렉터리로 어셈블리를 배포해야 합니다.

  • GAC(전역 어셈블리 캐시) %windir%\assembly에 .NET Framework의 공용 언어 런타임이 있는 GAC에 모든 표준 웹 파트가 자동으로 설치됩니다. GAC에 저장된 웹 파트는 여러 응용 프로그램에서 공유할 수 있습니다.

    이 위치의 장점:

    기본적으로 전체 신뢰로 실행될 수 있는 서명된 어셈블리를 배포할 수 있는 전역 위치입니다. 이러한 어셈블리는 전역적으로 설치되므로 모든 웹 응용 프로그램에서 작동합니다.

    이 위치의 단점:

    일반적으로 GAC에 설치되는 코드에는 코드 액세스 보안 제한이 적용되지 않으므로 강력한 방어 보안 기능을 활용할 수 없습니다.

    또한 GAC의 어셈블리에는 프로그램 데이터베이스 파일(.pdb)을 배포하기가 어려울 수 있습니다.

보안 특성 설정

Bin 디렉터리에 저장되는 ASP.NET 웹 파트에는 추가 보안 특성이 있습니다. 웹 파트를 사용하려는 방식에 따라 웹 파트에 이러한 특성을 설정할지 여부를 결정할 수 있습니다.

Bin 디렉터리는 부분 신뢰 위치입니다. 따라서 웹 파트가 실행될 때 전체 신뢰 코드 권한이 자동으로 부여되지 않습니다. 웹 파트로 호출되는 코드에는 부분 신뢰 권한만 부여되므로 웹 파트 개발자는 ASP.NET 웹 파트에 대해 AllowPartiallyTrustedCallers 특성을 구성해야 합니다.

AllowPartiallyTrustedCallers 특성을 사용하여 구성 요소를 "안전"으로 표시하면 개발 팀은 안전하게 구현할 책임이 있습니다.

기본적으로 Bin 디렉터리 및 해당 내용에는 최소 코드 액세스 보안 권한이 지정됩니다. 할당할 올바른 권한 수준을 결정하고 웹 파트가 작업 환경에 보안 위험을 초래하지 않도록 하려면 웹 파트를 신중히 테스트해야 합니다.

다음 두 가지 방법을 사용하여 권한 수준을 높일 수 있습니다.

  • (권장) 신뢰 정책 파일을 만들고 새 파일에 Web.config 파일을 지정합니다. 이 옵션은 좀 더 복잡하지만 웹 파트에 대해 정확한 권한을 설정할 수 있도록 합니다. 신뢰 정책 파일에 대한 자세한 내용은 온라인 Microsoft Windows SharePoint Services 및 코드 액세스 보안을 참조하세요.

  • Bin 디렉터리의 전체 신뢰 수준을 높입니다. 웹 애플리케이션의 루트 디렉터리에 있는 Web.config 파일에서 요소를 찾습니다 trust . 요소 특성의 trustlevel 기본값은 WSS_Minimal. 이 수준을 WSS_Medium으로 변경할 수 있습니다. 이 옵션은 더 간단하지만 사용자에게 필요하지 않을 수 있는 임의의 새 권한을 부여하며, 신뢰 정책 파일을 만드는 것보다 덜 안전합니다.

    주의

    Web.config 파일의 WSS_MinimalWSS_Medium 항목은 대/소문자를 구분합니다.

안전한 컨트롤 목록

안전한 컨트롤 목록에는 서버 관리자가 사이트 내의 모든 .aspx 페이지에서 사용하기에 안전하다고 지정할 수 있는 SharePoint 사이트 고유의 컨트롤 및 웹 파트 이름이 포함되어 있습니다. 이 목록은 웹 응용 프로그램 루트의 Web.config 파일 일부입니다.

웹 파트 배포 및 구성

새 웹 파트를 배포하는 데 사용하는 방식은 개발자가 제공하는 완성된 패키지에 따라 달라집니다. 개발자가 웹 파트를 단일 동적 연결 라이브러리(DLL) 파일로 제공하는 경우 이를 웹 응용 프로그램의 Bin 폴더에 복사하여 수동으로 배포할 수 있습니다. 개발자가 웹 파트가 포함된 CAB 파일을 제공하는 경우 Microsoft PowerShell을 사용하여 웹 파트를 배포할 수 있습니다.

웹 파트를 수동으로 배포 및 구성하려면

  1. 다음과 같은 관리 자격 증명이 있는지 확인합니다.

    • SharePoint Server을 호스트하는 서버에서 로컬 Administrators 그룹의 구성원이어야 합니다.
  2. 프로젝트의 Bin 디렉터리에 있는 YourWebPartName>.dll 어셈블리를 웹 애플리케이션 루트 디렉터리의 Bin 디렉터리에 복사합니다.< 예: C:\inetpub\wwwroot\wss\VirtualDirectories\80.

  3. 응용 프로그램 루트 디렉터리에서 Web.config 파일을 찾아 편집할 수 있도록 엽니다.

  4. 사용자 지정 어셈블리에 대한 다음 Safe 컨트롤 항목을 Web.config 파일에 추가합니다.

    <SafeControl Assembly="<YourWebPartName>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="<YourWebPartNamespace>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>
    

    여기서 각 부분이 나타내는 의미는 다음과 같습니다.

    • <YourWebPartName>은 배포되는 웹 파트의 이름입니다.

    • <YourWebPartNamespace>는 웹 파트와 연관된 네임스페이스입니다.

Bin 폴더에 웹 파트를 수동으로 설치하거나 Web.config 파일을 수동으로 변경하는 대신, PowerShell을 사용하여 웹 파트 패키지를 설치할 수 있습니다. 이 프로세스가 진행되려면 개발자 또는 시스템 관리자가 웹 파트에 대한 CAB 솔루션 패키지를 만들어야 합니다. CAB 파일을 만든 후에 다음 단계에 따라 웹 파트를 배포합니다.

Microsoft PowerShell을 사용하여 웹 파트를 배포하려면

  1. 최소 요구 사항을 충족하는지 확인합니다. 즉, Add-SPShellAdmin을 참조하세요.

  2. SharePoint 관리 셸을 엽니다.

  3. PowerShell 명령 프롬프트(PS C:\>)에서 다음 명령을 입력한 다음 Enter 키를 누릅니다.

    Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"
    

    여기서,

    • <PathToCabFile>는 배포되는 CAB 파일의 전체 경로입니다.

    • <WebPartName>은 배포되는 웹 파트의 이름입니다.

앞의 절차에서는 Install-SPWebPartPack 을 사용하여 웹 파트를 배포하는 일반적인 방식을 보여 줍니다. 추가 매개 변수를 지정하여 웹 파트가 배포되는 방식을 변경할 수도 있습니다. 자세한 내용은 Install-SPWebPartPack을 참조하세요.

명령줄 관리 작업을 수행하는 경우 Windows PowerShell을 사용하는 것이 좋습니다. Stsadm 명령줄 도구는 더 이상 사용되지 않지만 이전 제품 버전과의 호환성을 지원하기 위해 포함됩니다.

모든 웹 파트에는 웹 파트를 설명하는 XML 파일인 .webpart 파일이 있어야 합니다. 이 파일이 있어야 웹 파트 갤러리에 웹 파트가 표시됩니다. 다음 절차는 웹 파트를 배포하고 이를 안전한 컨트롤 목록에 등록한 후 .webpart 파일을 만드는 가장 손쉬운 방법입니다.

웹 파트 갤러리에 구성 요소를 추가하려면

  1. 다음과 같은 관리 자격 증명이 있는지 확인합니다.

    • Farm Administrators 그룹의 구성원이어야 합니다.
  2. .webpart 파일을 만들려면 http://<MyServer>/_layouts/newdwp.aspx로 이동합니다. 여기서 <MyServer>는 SharePoint 사이트를 배포한 서버의 이름입니다.

  3. YourWebPartNamespace> 옆에 있는< 확인란을 선택합니다.<YourWebPartName>.

  4. 갤러리 채우기를 클릭하여 YourWebPartName 웹 파트를 팀 사이트 갤러리에 추가합니다.

  5. 웹 파트 갤러리에서 편집을 선택하여 웹 파트를 편집한 다음 가져오기를 클릭합니다.

    .webpart 파일을 배치할 위치를 지정하라는 메시지가 표시됩니다. ASP.NET 웹 파트를 내보낸 다음 SharePoint 사이트로 가져올 수도 있습니다.

참고 항목

개념

SharePoint Server의 웹 파트 관리

기타 리소스

방법: 원격 서버에서 SharePoint 솔루션 배포, 게시 및 업그레이드