zoukankan      html  css  js  c++  java
  • MOSS的权限控制很好很强大的

      SPWeb web = SPControl.GetContextWeb(Context);
      //获取当前站点下的所有子站点
     SPWebCollection subwebs = web.Webs; 
      foreach(SPWeb wb in subwebs)
      {....}

      END

      当前用户为普通读者身份!!可以看每个子网站下的子网站的子网站。。。

      结果:失败!

    SPSecurity.RunWithElevatedPrivileges(delegate
    {
      SPWeb web = SPControl.GetContextWeb(Context);
      //获取当前站点下的所有子站点
     SPWebCollection subwebs = web.Webs; 
      foreach(SPWeb wb in subwebs)
      {....}
    });

      还是失败,失败地点:web.Webs;MOSS的权限控制很好很强大的

      提示:没有权限,验证失败!

      最后修改版本:

    SPSecurity.RunWithElevatedPrivileges(delegate
            {
              using (SPWeb wb = new SPSite(web.Site.ID).OpenWeb(web.ID))
              {
                //获取当前站点下的所有子站点
                SPWebCollection subwebcol = wb.Webs;
      
                for (int i = 0; i < subwebcol.Count; i++)
                {
                  if (i < subwebupcount)
                  {
                    if (subwebcol[i].DoesUserHavePermissions(SPBasePermissions.Open))
                    {
                      subleftnav(subwebcol[i], "navLevel2", "navItem", web.ID);
                      subwebcol[i].Dispose();
                    }
                  }
                }
              }
            });

      结果:成功!

      总结:必须在提升权限下New一个新的Contex上下文,再去干你想干的事情,如上黑体标示,第二个可以不要的!

      感慨:MOSS的权限控制很弓虽大!

  • 相关阅读:
    谁说固态硬盘没容量?4TB诞生、明年8TB!
    微软.NET Framework 4.5.2 RTM正式版
    Chrome 应用推荐
    MS14-021: Internet Explorer 安全更新: 2014 年 5 月 1 日
    百视通与微软共同宣布9月在华发布Xbox One
    支付宝5月4日起将停止收款主页业务 保留三种收款方式
    Chrome 应用推荐
    为什么《舌尖上的中国》让你欲罢不能?
    求连续子数组的最大乘积
    损失函数与代价函数区别
  • 原文地址:https://www.cnblogs.com/IsNull/p/1802907.html
Copyright © 2011-2022 走看看