public string GetSidOfCurrentUser(string login)
        {
            // if login with domain
            var loginLocalPart = login;

            if (login.Contains("\\"))
            {
                var splited = login.Split('\\');
                loginLocalPart = splited[1];
            }
            else if (login.Contains("@"))
            {
                var splited = login.Split('@');
                loginLocalPart = splited[0];
            }

            var users = _ldapHelper
                        .GetUsersByAttributesAndFilter(
                _settings,
                string.Format("({0}={1})",
                              _settings.LoginAttribute,
                              loginLocalPart));

            return(users.Any()
                       ? (from user in users
                          where user != null
                          select user.Sid)
                   .FirstOrDefault()
                       : null);
        }
Exemple #2
0
        public string GetSidOfCurrentUser(string login, LDAPSupportSettings settings)
        {
            var users = ldapHelper.GetUsersByAttributesAndFilter(settings, "(" + settings.LoginAttribute + "=" + login + ")");

            if (users.Count != 0)
            {
                foreach (var user in users)
                {
                    if (user != null)
                    {
                        return(user.Sid);
                    }
                }
            }
            return(null);
        }