我正在嘗試使用SPServices jQuery庫爲Sharepoint 2007網站上的用戶讀取權限掩碼。我可以成功獲取權限掩碼的號碼,但我無法將權限掩碼響應轉換爲有意義的內容。從權限掩碼中爲Sharepoint 2007讀取單獨權限
我正在權限掩碼使用以下的Javascript:
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
各個這些二進制值是(假設使用二進制補碼)的: A)10001000000000111111010001100000 B)10111100000000111111011011101110
我不能醃肉讓我的頭nd這些數字如何等同於用戶實際擁有的權限。使用http://jamestsai.net/Blog/post/Understand-SharePoint-Permissions-Part-1-SPBasePermissions-in-Hex2c-Decimal-and-Binary-The-Basics.aspx的權限表,它似乎與用戶實際擁有的權限不匹配。
我現在不在工作,所以我會用更多的信息更新這個信息,但是任何人都可以從我目前掌握的信息中發現我做錯了什麼嗎?
您使用SPServices調用哪個SharePoint Web服務? – jpumford
GetPermissionCollection是SharePoint網絡服務 - 我已將Javascript代碼包含在我的編輯中,謝謝。 – KyokoHunter