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

                   }

    }

  • 相关阅读:
    信息化基础建设 ORM 常见错误
    信息化基础建设 消息引擎
    Enterprise Library:日志的两种需求
    DDD:将概念显式化 之 验证规约
    技术人生:与其鸟宿檐下,不如击翅风雨
    DDD:传统三层架构向DDD的转换
    设计原则:意图导向编程的优点
    Entity Framework:数据库初始化的三种机制
    技术人生:使用价值观、原则和模式来理性的做设计和编程
    技术人生:人的差别在于业余时间
  • 原文地址:https://www.cnblogs.com/Amity/p/2977755.html
Copyright © 2011-2022 走看看