使用Sharepoint的user/group管理用户

每个系统都会有自己的用户权限管理, 如果一个系统是建立在SharePoint平台上,可以直接利用Sharepoint的user/group来管理用户。

Sharepoint 2007已经可以做到对权限的控制细化到list field,而且子站点还以继承,也可以设置独立的peopel group,还提供了和AD的集成。一个intranet系统非常适合用Sharepoint 2007作为平台来开发协作式系统。可以直接利用Sharepoint的user/group来管理用户和权限。我在一个实际系统中,做了一次实践:

这个系统的用户都是AD域用户,所以不需要用户管理的功能。系统的功能要根据角色加以控制。我就把sharepoint的group作为角色使用,每个角色定义一个group。对用户的授权就是将用户加入到对应的group中,非常简单。

下面是判断当前用户是否是Approver角色的代码。

        //check user's approve role,
        SPSite site = new SPSite(Public.ServerURL);
        SPWeb web = site.OpenWeb(Public.GetSiteURL(EventTypes.Engagement));
        SPGroup approver = web.Groups["Approver"];
        foreach (SPUser user in approver.Users)
        {
            string username = user.LoginName.Substring(user.LoginName.LastIndexOf(@"/") + 1);
            if (username == loginusername )
            {
                roles.Add((int)EWSData.UserRoles.MTCApprover);
            }
        }

上面的代码不支持对用户组的支持。如果要支持用户组,不能简单用username比较,需要复杂些的处理。

需要注意的是,如果group的设置

Who can view the membership of the group?

设置为Group Members,当不是本组的用户执行上面的代码,系统会报错。出现一个登录对话框。

建议将此项设置为Everyone 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值