目前多数公司都用windows域管理用户和电脑,

因此在内部应用中,使用LDAP进行用户验证,并返回LDAP的用户信息,如员工工号就十分有意义,

以下是一段关键代码,对LDAP账号密码验证后,返回员工号,完整的例子见附件

注意要引用以下namespace

using System.DirectoryServices;

private static string GetEmpIDFromLDAP(string UserName, string password)
    {
        //return true;
        DirectoryEntry AD = new DirectoryEntry("LDAP://RootDSE");
        String str = AD.Properties["defaultNamingContext"][0].ToString();

AD.Path = "LDAP://" + str;
        AD.Username = UserName;
        AD.Password = password;
        AD.AuthenticationType = AuthenticationTypes.Secure;
        try
        {
            DirectorySearcher searcher = new DirectorySearcher(AD);
            searcher.Filter = String.Format("(&(objectClass=user)(samAccountName={0}))", UserName);
            System.DirectoryServices.SearchResult result = searcher.FindOne();
            if (result != null)
            {

string empid = result.Properties["employeenumber"][0].ToString();
                return empid;
            }
            else
            {
                return "";
            }
        }
        catch (Exception err)
        {
            string a = err.Message;
        }
        return "";
    }

转载于:https://blog.51cto.com/soungcha/1258091

C#用户进行LDAP验证并返回员工信息相关推荐

  1. servlet登录验证并返回错误信息

    index.jsp(登录界面) <%@ page language="java" import="java.util.*" pageEncoding=&q ...

  2. django使用LDAP验证

    1.安装Python-LDAP(python_ldap-2.4.25-cp27-none-win_amd64.whl)pip install python_ldap-2.4.25-cp27-none- ...

  3. 在 Kubernetes 中使用 Keycloak OIDC Provider 对用户进行身份验证

    API Server 作为 Kubernetes 的网关,是用户访问和管理资源对象的入口.对于每个访问请求, API Server 都需要对访问者的合法性进行检查,包括身份验证.权限验证等等.Kube ...

  4. RTX的LDAP验证程序(含源码)

    修正服务器重启后服务无法启动成功的问题: 添加了服务依赖,服务会在rtx的主服务启动后再启动,并且当注册应用和启动应用失败时每隔30自动重试(系统应用日志可以看到重试记录),重试10次仍未成功,则退出 ...

  5. Struts2自定义类型转换器、自定义拦截器和用户输入数据的验证

    一.自定义类型转换器 1.编写一个类,继承com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter 2.覆盖掉其中的public Obj ...

  6. 通过LDAP验证Active Directory服务

    http://www.cnblogs.com/icuit/archive/2010/06/10/1755575.html 这一周做LDAP做得头都大了.现在终于有点头绪了,记录一下,以备后用. LDA ...

  7. Silverlight实例教程 - Validation用户提交数据验证捕获

    在以往的Validation系列中,介绍了四种Silverlight验证机制: 基本异常验证机制: DataAnnotation验证机制: IDataErrorInfo客户端同步验证机制: INoti ...

  8. Spring MVC拦截器实现用户登录权限验证案例

    本节将通过拦截器来完成一个用户登录权限验证的 Web 应用 springMVCDemo07,具体要求如下:只有成功登录的用户才能访问系统的主页面main.jsp,如果没有成功登录而直接访问主页面,则拦 ...

  9. ajax提交手机号到php,ajax怎样申请手机号到数据库验证并且返回数据的状态值

    这次给大家带来ajax怎样申请手机号到数据库验证并且返回数据的状态值,ajax申请手机号到数据库验证并且返回数据状态值的注意事项有哪些,下面就是实战案例,一起来看一下. 本文实例为大家分享了ajax提 ...

最新文章

  1. android 代码获取图片信息吗,Android 通过网络获取图片的代码
  2. 杂乱场景中的尺度层次三维目标识别
  3. pythontry参数_python try异常处理
  4. ajax里面可以alert吗,除非我使用alert(),否则Ajax请求不会工作
  5. 随机名字生成小demo源码
  6. OS函数:sleep-exit-wait
  7. Android 数据库加密
  8. Android开发之——依赖冲突Program type already present
  9. 生产环境sql语句调优实战第三篇
  10. Crystal Reports - New Report
  11. bat批处理之清理系统垃圾
  12. ORA-1652: unable to extend temp segment by 128 in tablespace TEMP解决
  13. 如何将HL7转换为XML
  14. html语言em,html中em单位 网页代码的问题:em是什么单位?
  15. 带“小弟”其实是一种投资
  16. ztree 树形菜单结构转JSON
  17. NVIDIA Jetson系列产品介绍
  18. low rank读书笔记
  19. 丁总路由器设置以及401联网
  20. 条形码数据的批量制作用什么软件?

热门文章

  1. [MySQL Bug]DDL操作导致备库复制中断
  2. UID 修改 UID 锁死修复
  3. 关于设置安卓屏幕的显示方向
  4. SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第二篇)
  5. Linux启动过程综述(转)
  6. c语言算星期,计算任何一天是星期几的C语言源代码.
  7. zkcli远程连接_ZooKeeper客户端 zkCli.sh 节点的增删改查
  8. houdini帮助文档_edge wrangle在houdini的vex优化与应用
  9. Java反射机制获取系统@Hide属性
  10. linux交换区使用过多导致的性能问题