Проверьте, принадлежит ли указанному пользователю определенная группа или нет.

Это то, что вам нужно?

var Parent = React.createClass({
  doSomething: function(value) {
  }
  render: function() {
    return  <div>
              <Child doSome={this.doSomething} />
            </div>
  }
})

var Child = React.createClass({
  onClick:function() {
    this.props.doSome(value); // doSomething is undefined
  },  
  render: function() {
    return  <div onClick={this.onClick}></div>
  }
})
0
задан FLICKER 13 July 2018 в 23:24
поделиться

2 ответа

Следующий код для вашей справки.

var username = "user1";
var spGroupName = "SG_Uploader";
var adGroupName = "AD_L6";
using (SPSite spSite = new SPSite("http://sp2013/sites/team/"))
{
    using (SPWeb spWeb = spSite.OpenWeb())
    {
        SPUser user = spWeb.EnsureUser(adGroupName);
        if (user.Groups.Cast<SPGroup>().Any(g => g.Name.Equals(spGroupName)))
        {

            var principalContext = new PrincipalContext(ContextType.Domain);
            var group = GroupPrincipal.FindByIdentity(principalContext, adGroupName);
            var  isGroupMember = group.Members.Any(x => x.Name == username);
            if (isGroupMember)
            {
                Console.WriteLine("User " + username + " is a member of group " + spGroupName);
            }
            else 
            {
                Console.WriteLine("User " + username + " is not a member of group "+spGroupName);
            }

        }
    }
}
2
ответ дан LZ_MSFT 17 August 2018 в 12:05
поделиться
  • 1
    Спасибо за ответ. Это также не ответ, но он полезен. он работает только в том случае, если имя пользователя является прямым членом adGroupName. если не похоже, что я должен использовать рекурсивную функцию, чтобы определить, является ли имя пользователя искусством adGroupName. Я не уверен, есть ли более простой способ. Я боюсь, что ресуспендирование функций AD может иметь проблемы с производительностью в моем случае. +1 – FLICKER 16 July 2018 в 21:12
  • 2
    Если вы проверяете, является ли пользователь членом группы объявлений, мы должны использовать какой-либо метод для подключения AD. – LZ_MSFT 17 July 2018 в 01:22
  • 3
    Вы знаете, что это за метод? это дает мне правильный результат, даже если пользователь не является непосредственно частью группы. в моем случае (в AD) у меня есть группа A, у которой есть группа B, а группа B имеет группу C, а пользователь является членом группы C – FLICKER 17 July 2018 в 16:38

Вы можете это сделать.

  string userName = "PERSEUS\\dmitry.kaloshin";
        string groupName = "Home Members";
        using (SPSite spSite = new SPSite("http://perseus"))
        {
            using (SPWeb spWeb = spSite.OpenWeb())
            {
                SPUser user = spWeb.EnsureUser(userName);
                if (user.Groups.Cast<SPGroup>().Any(g => g.Name.Equals(groupName)))
                {
                    Console.WriteLine("User " + userName + " is a member of group " + groupName);
                }
                else
                {
                    Console.WriteLine("User " + userName + " is NOT a member of group " + groupName);
                }
            }
        }

Посетите https://social.msdn.microsoft.com/Forums/office/en-US/65066c08-9924-4935-9bba- f715b75d3fac / как к регистрации по прибытии, если пользователь-существует-в-частности-SharePoint-группы-или-не-Programatically? форум = sharepointdevelopmentprevious

0
ответ дан Yojan Morales 17 August 2018 в 12:05
поделиться
  • 1
    Спасибо, что ответили. Я пробовал это точное решение, но оно не удовлетворяет моим требованиям. – FLICKER 14 July 2018 в 05:19
Другие вопросы по тегам:

Похожие вопросы: