我们使用Azure Active Directory和Azure访问控制服务(ACS)对SharePoint 2010实例中的用户进行身份验证。 Azure AD中的用户和组使用Azure AD Connect从本地AD目录进行同步。
我们几乎所有人都在努力对用户进行身份验证,但目前尚不清楚如何使用Azure AD中的组控制SharePoint访问。我们找到了通过每these instructions传递组声明的方法,但是传递了组的对象ID(例如,244728b5-8b9e-4e2f-8703-9853366cd431),这在SP中没有意义。
有没有办法传递群组名称,还是我们应该使用群组ID?在针对Azure AD进行身份验证时,是否有更好的方法来管理SP中的组访问?
感谢您的帮助。
答案 0 :(得分:0)
您应该使用组标识符。要看到它,
在您的代码中,您可以使用objectID
声明字符串常量private static string myGroupName = "xxxxxxxx-your-objectID-xxxxxxxxxx";
然后只需使用“myGroupName”将您的群组与群组声明列表进行比较
var isMember = IsGroupMember(myGroupName);
以下是如何查看声明:
public static bool IsGroupMember(string groupName)
{
var principal = ClaimsPrincipal.Current;
// Look for the groups claim
var supportClaim = principal.Claims.FirstOrDefault(
c => c.Type == "groups" &&
c.Value.Equals(groupName, StringComparison.CurrentCultureIgnoreCase));
return null == supportClaim ? false : true;
}