Необходимо получить группы LDAP для текущего пользователя Windows в электронном проекте - PullRequest
1 голос
/ 24 сентября 2019

Мне удалось получить все группы LDAP текущего пользователя Windows в моем приложении WinForm. Теперь я перевожу это приложение на электронное и хочу сделать то же самое.

Я ищу какой-то существующий пакетсделать это.ИЛИ любой обходной путь.

Я уже попробовал следующее: 1) https://www.npmjs.com/package/activedirectory 2) https://www.npmjs.com/package/ad

Но для всего этого требуется пароль пользователя.

Код C #, используемый в Winforms:

        string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split('\\').Last();

        IList<string> groups = new List<string>();
        try
        {
            using (DirectoryEntry de = new DirectoryEntry("LDAP://" + Domain.GetCurrentDomain()))
            {

                using (DirectorySearcher adSearch = new DirectorySearcher(de))
                {
                    adSearch.Filter = string.Format(CultureInfo.InvariantCulture, "(sAMAccountName={0})", userName);
                    SearchResult result = adSearch.FindOne();
                    if (result == null)
                        MessageBox.Show("null......");

                    ResultPropertyValueCollection rpCollection = result.Properties["memberof"];

                    foreach (string rp in rpCollection)
                    {
                        string[] properties = rp.Split(new char[] { ',' });
                        foreach (string property in properties)
                        {
                                groups.Add(property);
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

Поскольку мое приложение работает под текущим пользователем Windows, поэтому в коде C # мне не понадобится пароль для получения групп LDAP.Как это сделать в приложении Node / Electron?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...