SPServices jQuery 라이브러리를 사용하여 Sharepoint 2007 사이트의 사용자에 대한 사용 권한 마스크를 읽으려고합니다. 나는 성공적으로 사용 권한 마스크에 대한 번호를 얻을 수 있지만 사용 권한 마스크 응답을 의미있는 것으로 변환하는 데 문제가 있습니다. 내가 사용 권한을 얻고있다Sharepoint 2007의 사용 권한 마스크에서 개별 사용 권한 읽기
는 다음과 같은 자바 스크립트를 사용하여 마스크 :
function getPermissions(url, sobj) {
$().SPServices.defaults.webURL = url;
//FIRST DO SITE
$().SPServices({
operation: "GetPermissionCollection",
async: false,
objectName: url,
objectType: "Web",
completefunc: function(xData, Status){
$(xData.responseXML).find("Permission").each(function(){
sobj.Permissions.push($(this).attr("UserLogin"));
sobj.PermissionsLevel.push($(this).attr("Mask"));
});
}
});
//NOW DO LISTS
for (x in sobj.Lists) {
$().SPServices({
operation: "GetPermissionCollection",
async: false,
objectName: sobj.Lists[x].InternalName,
objectType: "List",
completefunc: function(xData, Status){
$(xData.responseXML).find("Permission").each(function(){
sobj.Lists[x].Permissions.push($(this).attr("UserLogin"));
sobj.Lists[x].PermissionsLevel.push($(this).attr("Mask"));
});
}
});
}
}
이 예제의 몇은 다음과 같습니다 A) -2013006751 B)이 대한 -1140590865
각각의 바이너리 값은 (2의 보수)의 사용 가정 : A) 10001000000000111111010001100000 B) 10111100000000111111011011101110
것은 내가 arou 내 머리를 얻을 수 없다 이 숫자가 사용자가 실제로 가지고있는 권한과 동일한 지 확인하십시오. http://jamestsai.net/Blog/post/Understand-SharePoint-Permissions-Part-1-SPBasePermissions-in-Hex2c-Decimal-and-Binary-The-Basics.aspx의 사용 권한 테이블을 사용하면 사용자가 실제로 가지고있는 사용 권한과 일치하지 않는 것 같습니다.
나는 지금 일하고 있지 않다. 그래서 나는 이것을 더 많은 정보로 업데이트 하겠지만, 현재 가지고있는 정보에서 내가 잘못하고있는 것을 누군가 눈치 채실 수 있을까?
SPServices에서 어떤 SharePoint 웹 서비스를 호출 하시겠습니까? – jpumford
GetPermissionCollection은 SharePoint 웹 서비스입니다. 자바 스크립트 코드를 제 편집에 포함 시켰습니다. 감사합니다. – KyokoHunter