SharePoint对于信任域user的权限判断的局限和解决方案

在域A信任域B但域B不信任域A的环境中,SharePoint部署在域A中,用户在域B。用户通过AD Group在SharePoint上获取权限,但在检查权限时无法正确显示。尽管能正常登录并拥有权限,但API无法正确判断用户权限。解决方案是通过Claim View Web Part查看用户的所有AD Group存储在Claims中,利用SPSite和SPUserToken API结合AD查询获取用户所属所有组的SID,构造claim identity来判断用户权限。
摘要由CSDN通过智能技术生成

遇到过一个这样的客户环境:

客户两个域,SharePoint环境是搭建在域A中的,然后user都是在域B中的,域A信任域B,但是域B不信任域A(单向信任域环境)。然后客户分配权限是都是添加域A的AD Group,这些AD Group包含域B的user。

然后在SharePoint的Check Permission页面中就会出现判断不出域B的user的权限的问题,但是可以正常登录,登录的权限也没用任何问题:

同样SP API判断权限结果也是一样:

            using (SPSite site = new SPSite("https://adfs.wang.com/sites/f100"))
            {
                var user = site.RootWeb.EnsureUser("i:0#.w|governance\\zywang");
                using (var tempSite = new SPSite(site.ID, user.UserToken))
                {
                    bool hasPerm = tempSite.RootWeb.DoesUserHavePermissions(SPBasePermissions.ViewListItems);
                   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值