<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    探索與發(fā)現(xiàn)

    研究java技術(shù)

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      83 隨筆 :: 0 文章 :: 109 評(píng)論 :: 0 Trackbacks
    Sharepoint2007中的權(quán)限都是通過(guò)角色來(lái)定義的,一切權(quán)限都是通過(guò)權(quán)限來(lái)設(shè)置,在設(shè)置權(quán)限的時(shí)候,只能給用戶(hù)或組賦予一個(gè)角色,而不能直接去修改他的權(quán)限。
    每一個(gè)能分配權(quán)限的對(duì)象(SPWeb、SPList、SPListItem)都會(huì)有一個(gè)RoleAssignments屬性,它是一個(gè)SPRoleAssignmentCollection類(lèi)型的屬性,用于分配權(quán)限。此外,在SPWeb里還有RoleDefinitions屬性(只在SPWeb里有,角色只能定義在網(wǎng)站里)。

    1.給一個(gè)用戶(hù)設(shè)置一個(gè)詳細(xì)的自定義的權(quán)限:
    SPUser user ;//取得Sharepoint用戶(hù)
    SPRoleAssignment myRoleA =
    new SPRoleAssignment(user);
    SPRoleDefinition myRoleD = web.RoleDefinitions["xxx"];
    myRoleA.RoldDefinitionBindings.Add(myRoleD);
    list.RoleAssignments.Add(myRoleA);

    2.修改一個(gè)用戶(hù)的權(quán)限:
    SPRoleAssignment myRoleA = list.RoleAssignments.GetAssignmentByPrincipal(user);
    SPRoleDefinition myRoleD = web.RoleDefinitions["xxx"];
    myRoleA.RoldDefinitionBindings.Add(myRoled);
    myRoleA.Update();

    如果該列表的權(quán)限是繼承該網(wǎng)站的,那么要首先打破這種繼承關(guān)系
    list.BreakRoleInheritance(true/false);
    參數(shù)是true將網(wǎng)站中的權(quán)限拷貝過(guò)來(lái)和原來(lái)的權(quán)限是一樣的,如果是false則為列表模板的默認(rèn)權(quán)限。

    SPListItem item = properties.ListItem;
    SPWeb web = properties.OpenWeb();
    SPUser user = web.EnsureUser((new SPFieldLookupValue(item["Test"].ToString())).LookupValue);
    SPUser chris = web.EnsureUser((new SPFieldLookupValue(item["chris"].ToString())).LookupValue);
    SPUser henry = web.EnsureUser((new SPFieldLookupValue(item["Personalabteilung"].ToString())).LookupValue);
    SPRoleDefinition roleReader = web.RoleDefinitions.GetByType(SPRoleType.Reader);
    SPRoleDefinition roleWriter = web.RoleDefinitions.GetByType(SPRoleType.Contributor);
    SPRoleAssignment roleAssignmentReader = new SPRoleAssignment((SPPrincipal)user);
    SPRoleAssignment roleAssignmentWriter = new SPRoleAssignment((SPPrincipal)
    chris );
    SPRoleAssignment roleAssignmentWriterOther = new SPRoleAssignment((SPPrincipal)
    henry );
    roleAssignmentReader .RoleDefinitionBindings.Add(roleReader);
    roleAssignmentWriter .RoleDefinitionBindings.Add(roleWriter);
    roleAssignmentWriterOther .RoleDefinitionBindings.Add(roleWriter);
    if (!item.HasUniqueRoleAssignments)

    {

         item.BreakRoleInheritance(false);

    }

    item.RoleAssignments.Add(roleAssignmentReader);
    item.RoleAssignments.Add(roleAssignmentWriter);
    item.RoleAssignments.Add(
    roleAssignmentWriterOther );
    item.Update();


    posted on 2009-05-13 07:13 蜘蛛 閱讀(468) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): 日?,嵤?/a>

    評(píng)論

    # re: Sharepoint2007權(quán)限問(wèn)題 2009-05-13 07:23 蜘蛛
    [MOSS開(kāi)發(fā)]:WSS v3授權(quán)
    http://www.cnblogs.com/ASPNET2008/archive/2009/01/15/1373920.html  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 免费人成在线视频| 亚洲一区二区三区无码影院| 亚洲fuli在线观看| 日本免费人成黄页网观看视频| 一级毛片高清免费播放| 色婷婷亚洲十月十月色天| 成年女人毛片免费播放人| 精品久久久久久国产免费了| 婷婷亚洲久悠悠色悠在线播放| 最新中文字幕免费视频| 中文字幕免费在线| 日本黄页网址在线看免费不卡| 亚洲美女视频一区| 亚洲成?v人片天堂网无码| 曰批全过程免费视频播放网站| 曰批全过程免费视频免费看 | 亚洲精品理论电影在线观看| 亚洲精品一级无码鲁丝片| 国产乱子精品免费视观看片| 最好2018中文免费视频| 亚洲国产成人AV网站| 婷婷久久久亚洲欧洲日产国码AV| 亚洲精品乱码久久久久久蜜桃不卡 | 青青草无码免费一二三区| 老司机午夜在线视频免费| 亚洲一区精品中文字幕| 亚洲AV无码码潮喷在线观看 | 精品亚洲福利一区二区| 日韩欧美亚洲中文乱码| 亚洲熟妇av一区| 77777亚洲午夜久久多人| 在线免费观看一级片| 在线观看的免费网站无遮挡| 免费A级毛片在线播放| 久久国产乱子伦精品免费一| ww在线观视频免费观看w| a毛片免费全部在线播放**| 亚洲欧洲国产精品久久| 亚洲精品成人网站在线观看 | 华人在线精品免费观看| 一区在线免费观看|