zoukankan      html  css  js  c++  java
  • Windows身份认证,通过活动目录得到用户信息

     

    //获取到域名

                    string domainName = HttpContext.Current.User.Identity.Name;

                    UserManager manager = new UserManager();

                    EmpInfo empInfo = manager.GetUserInfo(domainName);

    2

    public string GetEmpId(string domainName)

            {

                string id = string.Empty;

     

                if (!string.IsNullOrEmpty(domainName))

                {

                    string[] parts = domainName.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);

                    id = parts[parts.Length - 1];

                }

     

                return id;

            }

    3

    DirectoryEntry de = new DirectoryEntry("LDAP://DC=cts,DC=com");

     

                    DirectorySearcher search = new DirectorySearcher(de);

                    search.Filter = string.Format("(sAMAccountName={0})"empId);

     

     

                    SearchResult result = search.FindOne();

     

                    SetUserAdInfo(resultuser);

    4

    private static void SetUserAdInfo(SearchResult searchEmpInfo emp)

            {

                LogManager manager = new LogManager();

                try

                {

                    //manager.AddLog(GetLdapProperty(search, "givenName"));

                    emp.EMP_FIRST_NAME = GetLdapProperty(search"givenName");

                    emp.EMP_LAST_NAME = GetLdapProperty(search"sn");

                    emp.DisplayName = GetLdapProperty(search"displayName");

                    emp.MAIL_ADDRESS = GetLdapProperty(search"mail");

                   

                }

       }

    第二种方法

      string _path = "LDAP://" + ConfigurationSettings.AppSettings["ADServer"];

            public string GetDisplayName(string username)

            {

                DirectoryEntry entry = new DirectoryEntry(_path);

                try

                {

                    DirectorySearcher searcher = new DirectorySearcher(entry);

                    searcher.Filter = string.Format("(SAMAccountName={0})", username);

                    SearchResult result = searcher.FindOne();

                    if (null == result)

                    {

                        return "none";

                    }

                    else

                    {

                        return (string)result.Properties["displayName"][0];

                   }

    }

  • 相关阅读:
    python的多线程是否没有用了
    解决“mongoengine.fields.ImproperlyConfigured: PIL library was not found”报错
    Django JSON 时间
    伪装浏览器根据经纬度解析地理位置
    Excel——使用VLOOKUP函数关联跨工作薄数据
    Python发送邮件(支持中文)
    Excel实用技巧
    修改tomcat应用日志默认编码格式
    AWS多个EIP的解决方案
    解决荣耀7烦人的情景智能提醒
  • 原文地址:https://www.cnblogs.com/Amity/p/2977755.html
Copyright © 2011-2022 走看看