2011-01-27 4 views
0

ECMAScript를 사용하여 웹에서 역할 상속을 해제하는 방법 (즉, 부모로부터 권한 상속을 중지하는 방법)을 알고 있습니까?SharePoint 2010 : ECMAScript로 역할 상속을 깨기

이 내가 사용하려고 자바 스크립트 코드이지만, 나는 특성이 제대로 초기화되지 않았 음을 알리는 런타임 오류가 발생합니다 :

흥미롭게
var clientContext = new SP.ClientContext.get_current(); 
var web = clientContext.get_web(); 
clientContext.load(web); 

if (!web.get_hasUniqueRoleAssignments()) { 
    web.breakRoleInheritance(true, false); 
} 

, 내가 디버깅하는 동안 웹 객체를 interogate 경우, 실제로 hasUniqueRoleAssignments 속성과 breakRoleInheritance 함수가 모두 존재한다는 것을 알 수 있습니다. 또한이 두 멤버는 SP.SecurableObject 클래스에서 사용할 수 있다고 MSDN에 명시되어 있습니다. 웹 또는 목록 모두이 클래스에서 상속 받았다고 가정했을 것입니다.

아이디어가 있으십니까?

답변

1

Retrieving a Client Object Does Not Retrieve All Properties에 따르면, 당신은 executeQueryAsync를 호출하고 대리자 함수 내에서 get_hasUniqueRoleAssignments를 사용해야합니다 : 서버 개체 모델에서

당신이 SPWeb 개체를 반환 할 때, 모든 속성은에서 사용 가능하게 암호. 그러나 클라이언트 오브젝트 모델의 성능을 향상 시키려면 웹 오브젝트를 리턴 할 때 특정 특성이 포함되지 않으므로이를 명시 적으로 검색해야합니다. 예를 들어 웹 클래스는 HasUniqueRoleAssignments 속성을 SecurableObject 클래스에서 상속 받지만 웹 개체를 반환하면 기본적으로이 속성은 검색되지 않습니다.

+0

제공 한 기사의 예제 코드는 필자가 필요로하는 바로 그 것이 었습니다. 바로 제가 본 실제 속성에 이르기까지였습니다. 많은 분들께 감사드립니다. –