访问权限:控制视图页面的访问权限

  问题:

  控制视图页面访问权限设置只有指定组用户可以访问

  解决方案:

  写个webpart添加到需要控制权限页面如何当前用户不属于指定则不允许用户访问当前页面

  代码:

//----------------------------------------------------------------
//CodeArt
//
//文件描述:
//
//创 建 人: jianyi
//创建日期: 2008-7-11
//
//修订记录:
//
  
//----------------------------------------------------------------
using ;
using .Collections.Generic;
using .Collections;
using .ComponentModel;
using .Text;
using .Web;
using .Web.UI;
using .Web.UI.WebControls;
using .Web.UI.WebControls.WebParts;
using .Web.UI.HtmlControls;
  
using Microsoft.SharePo;
using .Collections.Specialized;
using Microsoft.SharePo.Utilities;
  
ShareOffice.WebParts
{
  
  public RightControlPart : WebPart
  {
    private _Groups = "";
    [WebBrowsable]
    [WebDescription("有权访问组,用;间隔")]
    [Personalizable(PersonalizationScope.Shared)]
    public Groups
    {
      get { _Groups; }
       { _Groups = value; }
    }
  
    protected override void _disibledevent=>  
      base.ChromeType = PartChromeType.None;
  
      SPUser user = SPContext.Current.Web.CurrentUser;
  
      //管理员可以访问
       (user.IsSiteAdmin && String.IsNullOrEmpty(this.Groups))
        ;
  
      //检测用户是否属于配置
       arr = this._Groups.Split(';');
  
      StringCollection userGroups = StringCollection;
      foreach (SPGroup g in user.Groups)
      {
        userGroups.Add(g.Name.ToLower);
      }
  
      foreach( g in arr )
      {
         (userGroups.Contains(g.ToLower))
          ;
      }
  
      SPUtility.TransferToErrorPage("您没有权限访问此视图.");
    }
  }
}


  这种思路方法个适用场景:

  个列表做两个视图:

  视图1(默认视图): 采用某个用户字段=[本人做过滤]普通用户可以查看到跟自己有关数据

  视图2:显示所有记录在视图2页面上放置这个权限控制webpart设置只有某个组可以访问

Tags:  局域网访问权限 没有访问权限 qq空间访问权限 访问权限

延伸阅读

最新评论

发表评论