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];

                   }

    }

  • 相关阅读:
    设计模式(八): 策略模式
    设计模式(七): 迭代器模式
    设计模式(六): 建造者模式
    设计模式(五): 装饰者模式
    设计模式(四): 适配器模式
    设计模式(三): 抽象工厂模式
    设计模式(二): 工厂模式
    设计模式(一): 单例模式
    Hibernate三种状态,缓存,以及update更新问题
    Servlet 生命周期、工作原理
  • 原文地址:https://www.cnblogs.com/Amity/p/2977755.html
Copyright © 2011-2022 走看看