SharePoint 判断用户是否在字段"人员和组"里面

简介:   两个自己平时写的方法,记录下来,方便以后查找使用;   1、判断用户是否在字段人员和组里面; public static bool IsUserInFiled(int UserID, string ListName, int ItemID, string FieldInterNa...

  两个自己平时写的方法,记录下来,方便以后查找使用;

  1、判断用户是否在字段人员和组里面;

    public static bool IsUserInFiled(int UserID, string ListName, int ItemID, string FieldInterName)
        {
            bool value = false;
            try
            {
                using (SPSite site = new SPSite(SITERUL))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList list = web.Lists.TryGetList(ListName);
                        SPListItem item = list.GetItemById(ItemID);
                        string dispName = list.Fields.GetFieldByInternalName(FieldInterName).Title;
                        SPFieldUserValueCollection uu = new SPFieldUserValueCollection(web, item[dispName].ToString());
                        foreach (SPFieldUserValue u in uu)
                        {
                            if (u.User != null)
                            {
                                if (UserID == u.User.ID)
                                    value = true;
                            }
                            else
                            {
                                string userStr = u.ToString().Split(';')[0];
                                int groupID = Convert.ToInt32(userStr);
                                SPGroup group = web.SiteGroups.GetByID(groupID);
                                foreach (SPUser user in group.Users)
                                {
                                    if (UserID == user.ID)
                                        value = true;
                                }
                            }
                        }
                    }
                }
            }
            catch { }

            return value;
        }

 

  2、获取Menu菜单,有点弱爆的赶脚;

    public static string GetMenu(string ListName)
        {
            string menuHtml = string.Empty;
            using (SPSite site = new SPSite(SITEURL))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPList list = web.Lists.TryGetList(ListName);
                    SPQuery query = new SPQuery();
                    query.Query = "";
                    SPListItemCollection itemcoll = list.GetItems(query);
                    foreach (SPListItem item in itemcoll)
                    {
                        string Title = list.Fields.GetFieldByInternalName("Title").Title;
                        string Link = list.Fields.GetFieldByInternalName("Link").Title;
                        string IsShow = list.Fields.GetFieldByInternalName("IsShow").Title;
                        string IsOpenNewPage = list.Fields.GetFieldByInternalName("IsShow").Title;

                        menuHtml += item[Title].ToString();
                    }
                }
            }
            return menuHtml;
        }

备 注

  仅作个人记录,如有需要,记得先调试哦;

目录
相关文章
|
3月前
|
Java 数据安全/隐私保护 uml
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
该博客文章通过Java代码示例介绍了备忘录模式(Memento Pattern)的应用,通过创建备忘录对象保存用户信息的状态,允许用户在进行错误操作后能够恢复到之前的状态。
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
|
5月前
|
SQL DataWorks 数据管理
DataWorks操作报错合集之在查找支持实例错误的时候提示:无法承担用户的角色,请检查RAM角色配置,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
【自然框架】之通用权限(八):权限到字段(列表、表单、查询)
 通用权限想要写的文章目录:(这是第八章)   1、 简介、数据库的总体结构2、 介绍人员表组3、 介绍组织结构表组4、 介绍角色表组5、 介绍“项目自我描述表组”6、 权限到节点7、 权限到按钮8、 权限到列表(表单、查询)9、 权限的验证10、 资源方面的权限11、 角色管理的程序(给客户用的)12、 权限下放13、 个性化设置A、 【自然框架】之通用权限(外传):杂谈     列表 myGrid 先说一下myGrid,我会根据Manage_FunListCol表和Manage_Columns表的内容,绘制出来一个table,就是的HTML。
913 0
|
Devops
禅道----新增权限分组
禅道----新增权限分组
321 0
禅道----新增权限分组
|
数据安全/隐私保护
禅道----修改某个员工的权限分组
禅道----修改某个员工的权限分组
375 0
禅道----修改某个员工的权限分组
【自然框架】之通用权限的Demo(二):添加人员、添加账户、添加角色里面的账户以及列表的权限验证
      看了一下上一次发Demo的日期6月15日,已经过了半个多月,这个速度也实在是太慢了。还是心情的原因,恩,心理承受能力太弱了,哈哈。不过还是要坚持的,要继续下去。       还是先说一下这次的Demo里增加的内容吧。
879 0
|
BI 数据库 数据处理
数据填报修改时如何增加操作人员信息
填报 修改人信息 数据填报修改时如何增加操作人员信息
1319 0