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

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

  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;
        }

备 注

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

时间: 2024-10-13 22:19:02

SharePoint 判断用户是否在字段"人员和组"里面的相关文章

sharepoint 判断用户是否存在某个组中三种方法

1.思路:查找用户所有的组来匹配是否在特定的组(推荐) 不用担心组不存在而报错. public static bool IsUserMemberOfGroup(SPUser user, string groupName) { bool result = false; if (!String.IsNullOrEmpty(groupName) && user != null) { foreach (SPGroup group in user.Groups) { if (group.Name =

判断用户的用户名和其基本组的组名是否一致

#!/bin/bash #传递一个用户名参数给脚本,判断此用户的用户名跟其基本组的组名是否一致,并将结果显示出来 #判断是否传递一个参数 if [ ! $# -eq 1 ]; then echo "Usage:./group.sh ARG" exit 1 fi #判断是否存在该用户 id $1 &> /dev/null if [ ! $? -eq 0 ]; then echo "$1 not exits." exit 1 fi #取给定用户所属基本组i

怎样判断用户是否在线

1.写后台线程,心跳机制等判断用户是否在线. 2.利用session 每次用户登录会产生一个session 因为考虑到一台电脑多个浏览器之间session不共享也就是可能会形成这样一个概念,你的同一个用户名在服务器中打开了两个不同版本的浏览器因此保存了2个session,也就造成了不准确的因素所以你可以采用一张专门登录的数据库表格,字段不用多 保存登录的用户名就行,然后javaweb中有session的监听接口HttpSessionBindingListener,这个接口包含的两个方法分别会在每

分步引导中,Js操作Cookie,实现判断用户是否第一次登陆网站

上一篇介绍了分布引导插件IntroJs的使用,本篇介绍通过Js操作cookie的方法. 分步引导的功能只适合与第一次登陆网站的新用户,不能每次登陆都提示分布引导,那么如何判断用户是否第一次登录网站呢? 通过Js操作浏览器Cookie,方法有很多种,大多数是通过js获取到cookie存储的键值对,然后找到需要的哪一个键,在判断值,但是这种方案比较繁琐,现在给出一种新的想法.手动设置一个字段到cookie中,这样每次只判断是否有这个字段即可.代码如下: 1 <script type="text

java采用DateFormat日期格式化方法判断用户今天是否第一次登录(比较简单)

一.描述 1.数据库中有一个date类型的last_login_time字段,即用户每次登录都会更新该字段: 2.在登录时使用jdbcTemplate的queryForObject方法,取出last_login_time字段的值以Date类型返回,并用DateFormat格式化该时间 3.获取系统当前时间,并用DateFormat格式化,比较两个时间是否相等就可以判断该用户今天是否第一次登录. 上次我写的判断用户当天是否第一次登录的方法采用字符串的比较方式,使用起来很繁琐,效率也不高,因此今天进

判断用户选择的日期是否为星期一

在平台中如何判断用户选择的日期是否为星期一?实现代码如下图所示: 原文地址:http://bbs.delit.cn/thread-888-1-1.html 转载请注明出处: 撰写人:度量科技http://www.delit.cn

Discuz!X 插件开发判断用户是否登录的代码怎么写

转:http://www.bacysoft.cn/thread-71-1-1.html Discuz!X 插件开发判断用户是否登录的代码怎么写? 我们开发插件的时候,经常需要判断访问用户是否为注册用户,如果是则允许访问,否则弹出登录窗口提示用户登录! 实现此功能的代码如下: if(empty($_G['uid'])) { showmessage('to_login', '', array(), array('showmsg' => true, 'login' => 1)); } 复制代码 $_

js判断用户是否正在滚动滚动条,滚动条滚动是否停止

js智能判断是否可以自动滚动 比如,做一个音乐播放器,边播放,边定位歌词,播放的时候,需要自动定位到播放语句,但是用户去拖动或者滚动div(歌词面板)时,这时就必须停止自动滚动,或者说是不能自动滚动,这个怎么做呢? 如果能时时判断 用户是否在滚动就好了? 或者能够 知道滚动开始 和 结束事件 也行? 可惜均不知道! 目前,仅可以利用的就是div元素的滚动事件,下面是我的实现思路,如何判断用户是否滚动停止? 1.html代码 <div id="panel"> <div

C#判断用户是手机访问还是PC访问

今天在做一个wap网站时,需要限制PC用户访问.网上找了很多资料,效果都不怎么理想.其实原理就是根据HTTP_USER_AGENT判断检查用户在用什么浏览器,再根据业务做相应的逻辑处理. 代码如下: 1 public class IsPhoneAttribute : ActionFilterAttribute 2 { 3 public override void OnActionExecuting(ActionExecutingContext filterContext) 4 { 5 strin