Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将权限掩码转换为GetPermissionCollection的角色_Java_Sharepoint_Permissions - Fatal编程技术网

Java 将权限掩码转换为GetPermissionCollection的角色

Java 将权限掩码转换为GetPermissionCollection的角色,java,sharepoint,permissions,Java,Sharepoint,Permissions,我们有一个要求,我们需要检查用户是否有“上载”权限访问Sharepoint文档库中的文件夹。为此,我在文档库上使用PermissionsWebService的“GetPermissionCollection”方法。我得到的答复如下: 我无法将权限掩码转换为角色。我用Java做这个,我没有SPBasePermissions类 Java中有没有办法将掩码转换为角色 提前感谢是的,您只需要对其执行位运算。您需要为您关心的权限硬连接位掩码,但这应该足够安全,因为这些权限在SharePoint 2010

我们有一个要求,我们需要检查用户是否有“上载”权限访问Sharepoint文档库中的文件夹。为此,我在文档库上使用PermissionsWebService的“GetPermissionCollection”方法。我得到的答复如下:

我无法将权限掩码转换为角色。我用Java做这个,我没有SPBasePermissions类

Java中有没有办法将掩码转换为角色


提前感谢

是的,您只需要对其执行位运算。您需要为您关心的权限硬连接位掩码,但这应该足够安全,因为这些权限在SharePoint 2010中不会更改。

我找到了以下链接: 这说明了这一点,按位和。 您还应使用此链接:

它枚举权限的掩码

我还制作了一个javascript示例,可以帮助您。。。 但是,您必须将其转换为java

我使用了JQuery、SPServicesJS() 这是面具代码的链接 我希望这能帮助你,我这样做是因为我也需要它,但它也可能会帮助其他人

您需要将此处的列表名称替换为列表名称,并找出哪个是上载的掩码

该脚本将向所有有权访问列表的人发送消息,并告知他们是否可以阅读、添加、更改和删除内容。希望这对你有帮助

$('#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);
    }
});
$('divid').html('Working…').SPServices({
操作:“GetPermissionCollection”,
objectName:'此处列出名称',
对象类型:“列表”,
completefunc:函数(扩展数据、状态){
var out=“
    ”; $(扩展数据.responseXML).find(“权限”).each(函数(){ if($(this.attr(“MemberIsUser”)=“True”){ out+=“
  • 用户:”+$(this.attr(“UserLogin”)+“
  • ”; }否则{ out+=“
  • 组:”+$(this.attr(“GroupName”)+“
  • ”; } var readmask=0x0000000000000001; var addmask=0x0000000000000002; var editmask=0x0000000000000004; var deletemask=0x0000000000000008; out+=“
  • 掩码:”+$(this.attr(“掩码”)+“
  • ”; var canread=readmask&$(this.attr(“Mask”).toString(16)>0?“是”:“否”; var canadd=addmask&$(this.attr(“Mask”).toString(16)>0?“是”:“否”; var canedit=editmask&$(this.attr(“Mask”).toString(16)>0?“是”:“否”; var candelete=deletemask&$(this.attr(“Mask”).toString(16)>0?“是”:“否”; out+=“
  • 可以读取:“+canread+”
  • ”; out+=“
  • 可以添加:“+canadd+”
  • ”; out+=“
  • 可以编辑:“+canedit+”
  • ”; out+=“
  • 可以删除:“+candelete+”
  • ”; }); out+=“
”; $('divid').html(out); } });
completefunc的最后一行需要一个#in DIV id:$('#divid').html(out);你能提供详细情况吗?