팜 수준에서 솔루션을 배포 할 경우 다양한 사이트 모음 소유자가 해당 솔루션에있는 기능을 활성화하지 못하게 할 수 있습니까?Sharepoint에서 사용자가 기능을 활성화하지 못하도록
답변
기능 활성화 중에 오류가 발생하면 기능을 활성화하지 않고 요소 Manifest의 일부로 배포되었을 수있는 모든 효과를 취소합니다.
따라서이 기능을 교묘하게 사용하면 피처 수신자의 FeatureActivated 부분을 사용하여 누가 활성화했는지 확인할 수 있으며 해당 기능을 활성화 할 수없는 이유를 설명하는 적절한 오류 메시지와 함께 UnauthorizedAccessException을 throw 할 수 있습니다. 이 메시지는 지정한 메시지가있는 표준 SharePoint 오류 페이지로 표시됩니다. 이미 기능 수신기가있는 경우이 기능을 FeatureActivated 부분의 시작 부분에 추가해야 모든 프로그래밍 방식 동작이 발생하지 않습니다 (요소가 매니페스트와 달리 활성화 실패시 철회되지 않음).
이전에 피처 수신기를 사용하지 않았다면 피벗 수신기를 설정하는 데 두 부분 만 있으면됩니다.
기능의 기능 XML에서 기능 노드에 다음 두 가지 속성을 추가하십시오.
ReceiverAssembly=(four-part-assembly-string) ReceiverClass=(full namespace.class name of receiver class)
수신기 클래스를 작성하십시오. 이는
SPFeatureReceiver
에서 상속되며FeatureActivated
,FeatureDeactivating
,FeatureInstalled
및FeatureUninstalling
에는 4 가지 필수 우선 적용이 있습니다. 지난 3 일 동안 아무 것도 할 필요가 없습니다.FeatureActivated
방법으로 보안 점검을 작성합니다.
사이트 모음 사용자가 특정 기능을 활성화하지 못하도록하는 간단한 방법은 숨겨진 것으로 표시하는 것입니다. 이러한 기능은 STSADM 명령을 통해 팜 관리자가 효과적으로 활성화 할 수 있습니다. 아래 그림과 같이
는 기능에 'TRUE'를 기능 요소의 숨김 속성을 업데이트 숨기려면<Feature
Id="AD2146D-62DA-4911-DBC1-AE177DE40084"
Title="Restricted Web Parts"
Hidden="TRUE"
.../>
또는
당신은 셰어 포인트 2010을 사용하는 경우이 기능이를 대상으로이 문제를 해결하기 위해 팩을 사용할 수 있습니다 특정 세트의 사용자에게 기능 세트를 제공합니다.
Zevenseas feature blocker을 살펴보십시오.