zoukankan      html  css  js  c++  java
  • asp.net连接LDAP数据,并从LDAP中取出相关数据(1)

     

                                                                        ASP.NET连接LDAP数据库的有关信息

    一、封装在DAL层中的获取用户信息的函数

    /// <summary>

           /// 按照用户Id查找用户信息

           /// </summary>

           /// <param name="userId"></param>

           /// <returns></returns>

           publicDirectoryEntry GetUser(string username)

           {

               string path = System.Configuration.ConfigurationManager.ConnectionStrings["path"].ConnectionString;

               string pname = System.Configuration.ConfigurationManager.ConnectionStrings["pname"].ConnectionString;

               string pwd = System.Configuration.ConfigurationManager.ConnectionStrings["pwd"].ConnectionString; 

    // 3个连接数据库的信息写在配置文件里

               DirectoryEntry  deuser;  //定义变量

               try

               {

                   DirectoryEntry de = newDirectoryEntry (path, pname, pwd, AuthenticationTypes.Secure);

                   DirectorySearcher deSearch = newDirectorySearcher(de); //连接LDAP数据库

                   deSearch.Filter = "(&(objectClass=userinfo)(LOGINNAME=" + username + "))";  //筛选比对

    //上面这句话修改为:mySearcher.Filter = "(&(objectClass=userinfo)(&(LOGINNAME=" + txtUserId.Text + ")(LOGINPASSWORD=" + txtUserPwd.Text + ")))";//作为登录是用户帐号和密码认证

                   deSearch.SearchScope = SearchScope.Subtree;

                   SearchResult result = deSearch.FindOne(); //筛选比对得出一个结果,存储在result中

                   if (result != null)

                   {

                       deuser = result.GetDirectoryEntry(); //得到筛选结果,并赋值给deuser中

                       return deuser;

                   }

                   else

                   {

                    returnnull;

                    }

                 }

            catch(Exception ex)

            {            

               // LogManage.SaveInfo(ex.ToString());

                returnnull;

            }

    二、配置文件信息

    <connectionStrings>          

     <add name="path"

             connectionString="LDAP://192.168.1.1/OU=123,DC=123,DC=COM" />

               <add name="pname"

                       connectionString="123" />

               <add name="pwd"

                       connectionString="123" />

      </connectionStrings>

    三、实现层

    1、页面信息

    用户id:(textbox框)

    用户名称:(textbox框)
    用户密码:(textbox框)
    电子邮箱:(textbox框)
    ButtonID="butquchu"(读取数据按钮)

    2、事件函数代码

    protectedvoid butquchu_Click(object sender, EventArgs e)

            {

                ldapDAO ld= newldapDAO ();

                string username = Session["LOGINNAME"].ToString(); //根据上一页的登录信息获取用户帐号,存储在session中。

                labname.Text = username;

                DirectoryEntry de = ld.GetUser(username); //调用ldapDAO中的获取用户信息函数

                if (de != null)

                {

                    if (de != null)

                    {

                        if (de.Properties["USERID"].Value != null)

                        {

                            txtuserid.Text = de.Properties["USERID"].Value.ToString();

                        }

                        if (de.Properties["LOGINNAME"].Value != null)

                        {

                            txtusername.Text = de.Properties["LOGINNAME"].Value.ToString();

                        }

                        if (de.Properties["LOGINPASSWORD"].Value != null)

                        {

                            txtpwd.Text = de.Properties["LOGINPASSWORD"].Value.ToString();

                        }

                        if (de.Properties["EMAIL"].Value != null)

                        {

                            txtmail.Text = de.Properties["EMAIL"].Value.ToString();

                        }

                    }

    Top
    收藏
    关注
    评论
  • 相关阅读:
    理解对象和对象的描述特性
    常用JS方法整理
    vue组件从开发到发布
    Mac OS X下安装Vue脚手架(vue-cli)
    前端开发中提到的“脚手架”到底指什么,CLI?gulp 和 gulp-cli有什么区别
    【Android Studio快捷键】之代码提示
    Linux安装vmtools
    VC 获取控制台窗体的句柄(hWnd)
    ym——物联网入口之中的一个Android蓝牙4.0
    Nginx 做系统的前端反向proxy
  • 原文地址:https://www.cnblogs.com/alanjl/p/3708567.html
Copyright © 2011-2022 走看看