我們有一個要求,我們需要檢查用戶是否具有「上載」對Sharepoint文檔庫中文件夾的訪問權限。爲此,我在文檔庫上使用Permissions webservice的「GetPermissionCollection」方法。我得到的迴應是以下格式:將權限掩碼轉換爲GetPermissionCollection的角色
我無法將權限掩碼轉換爲角色。我在Java中這樣做,我沒有SPBasePermissions類。
在Java中是否有方法將Mask轉換爲角色?
在此先感謝
我們有一個要求,我們需要檢查用戶是否具有「上載」對Sharepoint文檔庫中文件夾的訪問權限。爲此,我在文檔庫上使用Permissions webservice的「GetPermissionCollection」方法。我得到的迴應是以下格式:將權限掩碼轉換爲GetPermissionCollection的角色
我無法將權限掩碼轉換爲角色。我在Java中這樣做,我沒有SPBasePermissions類。
在Java中是否有方法將Mask轉換爲角色?
在此先感謝
是的,你只需要對它進行按位操作。你需要硬連接您所關心的權限位掩碼,但是這應該是足夠安全的,因爲這些都不在SharePoint 2010
改變,我發現這個鏈接: Permission/Deny Mask in SharePoint 它說一些有關此位與。 你也應該使用這個鏈接: http://msdn.microsoft.com/en-us/library/dd304243%28PROT.13%29.aspx
哪些使用掩碼獲取權限。
我還做了一個JavaScript的例子,可以幫助你...... 但是你必須把它轉換成Java
我用的JQuery,SPServices JS(http://spservices.codeplex.com/) 而這個鏈接的口罩碼 http://msdn.microsoft.com/en-us/library/dd304243%28PROT.13%29.aspx 我希望這可以幫助你,我這樣做,因爲我也需要它,但它也可能幫助別人。
您需要將列表名稱替換爲列表的名稱,並找出哪個是用於上載的掩碼。
該腳本會吐出每個有權訪問列表的人,並說他們是否可以讀取,添加,更改和刪除東西。希望這可以幫助你。
$('#divid').html('Working...').SPServices({
operation: "GetPermissionCollection",
objectName: 'LIST NAME HERE',
objectType: "List",
completefunc: function (xData, Status) {
var out = "<ul>";
$(xData.responseXML).find("Permission").each(function() {
if ($(this).attr("MemberIsUser") === "True") {
out += "<li>User: " + $(this).attr("UserLogin") + "</li>";
} else {
out += "<li>Group: " + $(this).attr("GroupName") + "</li>";
}
var readmask = 0x0000000000000001;
var addmask = 0x0000000000000002;
var editmask = 0x0000000000000004;
var deletemask = 0x0000000000000008;
out += "<li>Mask: " + $(this).attr("Mask") + "</li>";
var canread = readmask & $(this).attr("Mask").toString(16) > 0 ? "Yes" : "No";
var canadd = addmask & $(this).attr("Mask").toString(16) > 0 ? "Yes" : "No";
var canedit = editmask & $(this).attr("Mask").toString(16) > 0 ? "Yes" : "No";
var candelete = deletemask & $(this).attr("Mask").toString(16) > 0 ? "Yes" : "No";
out += "<li>Can Read: " + canread + "</li>";
out += "<li>Can Add: " + canadd + "</li>";
out += "<li>Can Edit: " + canedit + "</li>";
out += "<li>Can Delete: " + candelete + "</li>";
});
out += "</ul>";
$('divid').html(out);
}
});
completefunc的最後一行需要DIV中的#id: $('#divid')。html(out); – 2012-06-19 11:50:12