您的位置:首页 > 其它

sharepoint给文档库每个数据条添加权限

2014-07-08 22:13 281 查看

前言

老大任务,做一个读取文档库把里面的每一条数据添加权限。挺起来很简单,但是做起来,还是很简单,哈哈。因为我没有接触过这些代码,所以得不断的请教了。大题明白了,简单实现了一下,应用控制台先做了一下简单的功能,里面有写死的,但是完全可以写活。

代码部分

//读取网站集

[align=left] SPSite site = new SPSite ("http://localhost");[/align]
[align=left] SPWebApplication webApp = site.WebApplication;[/align]
[align=left] SPWeb web = site.OpenWeb();[/align]
[align=left] //用于文档库更新[/align]
[align=left] web.AllowUnsafeUpdates = true;[/align]
[align=left] //文档库[/align]
[align=left] SPList docLib = null ;[/align]
[align=left] try[/align]
[align=left] {[/align]
[align=left] //这里是读取自己的那个文档库写死了[/align]
[align=left] docLib = web.Lists[ "MyDocument"];[/align]
[align=left] }[/align]
[align=left] catch (Exception )[/align]
[align=left] {[/align]
[align=left] Console.WriteLine("不?对?" );[/align]
[align=left] return;[/align]
[align=left] }[/align]
[align=left] SPRoleAssignment roleAssignment = null ;[/align]
[align=left] if (docLib != null )[/align]
[align=left] {[/align]
[align=left] SPListItemCollection oSpListCl = docLib.Items;[/align]
[align=left] docLib.BreakRoleInheritance( true);[/align]
[align=left] foreach (SPListItem item in oSpListCl)[/align]
[align=left] {[/align]
[align=left] SPGroup group = null ;[/align]
[align=left] SPUser user = null ;[/align]
[align=left] try[/align]
[align=left] {[/align]
[align=left] user = web.Users[ @"myName"];//用户和组都是这样添加的,所以我这里用的组,用户也一样[/align]
[align=left] group = web.Groups[ @"myGroup" ];//[/align]
[align=left] }[/align]
[align=left] catch (Exception )[/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] throw new Exception( "没?有?D这a个?组???" );[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] if (group == null )[/align]
[align=left] {[/align]
[align=left] Console.WriteLine("用??户??为空?" );[/align]
[align=left] return;[/align]
[align=left] }[/align]
[align=left] //return;[/align]
[align=left] //删除这个组[/align]
[align=left] //item.RoleAssignments.Remove(group);[/align]
[align=left] roleAssignment = new SPRoleAssignment (group);[/align]
[align=left] //告诉程序我要给这一项添加的组权限是什么,这里是读取权限[/align]
[align=left] SPRoleDefinition sPRolwDe = web.RoleDefinitions.GetByType(SPRoleType .Reader);[/align]
[align=left] //将权限添加到功能中,这里roleAssignment我也不大懂,只是知道这么用,以后查了再说明一下
[/align]
[align=left] roleAssignment.RoleDefinitionBindings.Add(sPRolwDe);[/align]
[align=left]
[/align]
[align=left] item.RoleAssignments.Add(roleAssignment);[/align]
[align=left] //文档库中的一项更新,同事文档库也就更新了
[/align]
[align=left] item.Update();[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] Console.ReadKey();[/align]

总结

理解的不是很深,只能大概的理解一下,有不周的地方多多包涵,小生有礼了。。。。

活到老,学到老

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐