Sharepoint列表项权限修改

来源:互联网 发布:数据分析招聘 泉州 编辑:程序博客网 时间:2024/06/06 05:24

场景:删除列表项所有当前权限,替换为要求的权限(此处为 创建者可以修改,总监、组长可以查看)

 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click        Dim oweb As SPWeb = New SPSite("http://localhost:881/").OpenWeb("/wdb")        Dim olist As SPList = oweb.Lists("话务中心客户电话记录表")        Dim slist As SPList = oweb.Lists("客服列表")        Dim GLname As String        Dim oitm As SPListItem        For Each oitm In olist.Items            Dim sitm As SPListItem            For Each sitm In slist.Items                If InStr(oitm("客服"), sitm("姓名")) Then      '取组长名                    GLname = sitm("GL")                    Exit For                End If            Next            If GLname = "" Then                T1.AppendText(oitm.ID & "," & oitm("客服") & "找不到组长" & vbCrLf)                Exit Sub            End If            Dim spp As SPRoleAssignment            oitm.BreakRoleInheritance(True)                     '中断继承权限            If oitm.RoleAssignments.Count > 0 Then              '清空当前权限                For i = oitm.RoleAssignments.Count - 1 To 0 Step -1                    oitm.RoleAssignments.Remove(i)                Next            End If            For Each usr As SPUser In oweb.SiteUsers            '查询所有用户名                If InStr(oitm("客服"), usr.Name) Then           '如果是当前创建者,加编辑权限                    T1.AppendText(usr.LoginName)                    spp = New SPRoleAssignment(usr)                    spp.RoleDefinitionBindings.Add(oweb.RoleDefinitions("编辑_CantDel"))                    oitm.RoleAssignments.Add(spp)                    oitm.Update()                    T1.AppendText(oitm.ID)                    spp = Nothing                ElseIf usr.Name = "总监" Or InStr(GLname, usr.Name) Then                '如果是总监或者组长,加查看权限                    T1.AppendText(usr.LoginName)                    spp = New SPRoleAssignment(usr)                    spp.RoleDefinitionBindings.Add(oweb.RoleDefinitions("读取"))                    oitm.RoleAssignments.Add(spp)                    oitm.Update()                    T1.AppendText(oitm.ID)                    spp = Nothing                End If            Next        Next    End Sub


原创粉丝点击