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

                   }

    }

  • 相关阅读:
    LeetCode---Remove Duplicates from Sorted List II
    hackerrank---Sets
    hackerrank---Find a string
    push的时候隐藏底部的tabbar
    选择性编译代码:如 #ifdef __IPHONE_7_0
    客户端的文件存储文件夹代表意义
    设置非ARC
    KVC设置系统自带属性,不管是不是私有的属性
    一些关于队列,同步,异步的概念
    要求两个异步任务都完成后, 才能回到主线程:dispatch_group_t
  • 原文地址:https://www.cnblogs.com/Amity/p/2977755.html
Copyright © 2011-2022 走看看